Spring 注解 《二》

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不开启事务

你可能感兴趣的:(Spring 注解 《二》)