maintestfortransactiontemplate.java
来自「随书光盘:精通Sping 2.0 的随书源代码」· Java 代码 · 共 64 行
JAVA
64 行
package org.springframework.samples;
import java.util.List;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.beans.factory.ListableBeanFactory;
import org.springframework.beans.factory.generic.GenericBeanFactoryAccessor;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.samples.petclinic.Clinic;
import org.springframework.samples.petclinic.Owner;
import org.springframework.transaction.TransactionDefinition;
import org.springframework.transaction.TransactionStatus;
import org.springframework.transaction.support.TransactionCallback;
import org.springframework.transaction.support.TransactionCallbackWithoutResult;
import org.springframework.transaction.support.TransactionTemplate;
/**
*
* @author worldheart
*
*/
public class MainTestForTransactionTemplate {
private static final Log log = LogFactory.getLog(MainTestForTransactionTemplate.class);
public static void main(String[] args) {
ListableBeanFactory cbf = new ClassPathXmlApplicationContext("ac6.xml");
GenericBeanFactoryAccessor gbfa = new GenericBeanFactoryAccessor(cbf);
final TransactionTemplate tt = gbfa.getBean("transactionTemplate");
final Clinic clinic = gbfa.getBean("hsqlClinic");
List list = (List)tt.execute(new TransactionCallback(){
public Object doInTransaction(TransactionStatus status) {
return clinic.findOwners("");
}
});
for(Object owner: list){
Owner own = (Owner)owner;
log.info(own.getId() + "," + own.getFirstName() + "," + own.getLastName());
}
final Owner owner = new Owner();
owner.setAddress("XiDan");
owner.setCity("Beijing");
owner.setFirstName("FirstName");
owner.setLastName("LastName");
owner.setTelephone("888888");
tt.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRES_NEW);
tt.execute(new TransactionCallbackWithoutResult(){
@Override
protected void doInTransactionWithoutResult(TransactionStatus status) {
clinic.storeOwner(owner);
}
});
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?