Spring
启用注解功能,这个是必须的,否则注解不会生效,另外,该注解一定要声明在spring主配置文件中才会生效
@controller(Action层)不要将两个有紧密联系的save,update,delete放在一起,我们要考虑到如果controller层中这些个操作是否执行成功。
而不成功的话会带来严重后果。
所以我们要将这些操作放在@service(Service层)进行包装。然后用@Transational进行注解。这样就可以回滚
@order,使用注解方式使bean的加载顺序得到控制
@order(value=1)
@order(value=2)
值越小,越先被加载。
@RunWith就是一个运行器
@RunWith(JUnit4.class)就是指用JUnit4来运行
@RunWith(SpringJUnit4ClassRunner.class),让测试运行于Spring测试环境
@RunWith(Suite.class)的话就是一套测试集合,
例如:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = { "classpath:config/applicationContext-*.xml", "classpath:services/ext/service-*.xml" })
@Transactional
@TransactionConfiguration(transactionManager = "transactionManager")
//@TransactionConfiguration(transactionManager = "transactionManager", defaultRollback = true)
public abstract class BasicTestcase extends AbstractTransactionalJUnit4SpringContextTests{
@Resource
private IUserService userService;
@Test
// @Transactional
public void testAddOpinion1() {
userService.downloadCount(1);
System.out.println(1);
}
@Test
@Rollback(false)
public void testAddOpinion2() {
userService.downloadCount(2);
System.out.println(2);
}
}
@ContextConfiguration(locations = { “classpath:config/applicationContext-.xml”, “classpath:services/ext/service-.xml” })用于指定配置文件所在的位置
@TransactionConfiguration(transactionManager=”transactionManager”)读取Spring配置文件中名为transactionManager的事务配置,defaultRollback为事务回滚默认设置。
该注解是可选的,可使用@Transactional与@Rollback配合完成事务管理。
当然也可以使用@Transactional与@TransactionConfiguration配合。
@Transactional开启事务。可放到类或方法上,类上作用于所有方法。
@Rollback事务回滚配置。只能放到方法上。
@BeforeTransaction在事务之前执行
@AfterTransaction在事务之后执行
@NotTransactional不开启事务