@Configuration 去xml化添加事务功能
###初始化类### 类注解 @Configuration @ComponentScan(basePackages = AppConfig.BASEPACKAGE,excludeFilters = { @ComponentScan.Filter(type = FilterType.ANNOTATION,value = {Controller.class,RestController.class}) }) public class RootConfiguration { 1.采用注解式事务,需要在类加添加 @Bean public PlatformTransactionManager transactionManager(DataSource dataSource) { return new DataSourceTransactionManager(dataSource); } 2.拦截器式 @Bean(name="transactionManager") public DataSourceTransactionManager transactionManager(DataSource dataSource) { DataSourceTransactionManager transactionManager = new DataSourceTransactionManager(); transactionManager.setDataSource(dataSource); transactionManager.setGlobalRollbackOnParticipationFailure(false); return transactionManager; } @Bean(name="transactionInterceptor") public TransactionInterceptor transactionInterceptor(DataSourceTransactionManager transactionManager) { TransactionInterceptor transactionInterceptor = new TransactionInterceptor(); transactionInterceptor.setTransactionManager(transactionManager); Properties properties = new Properties(); properties.setProperty("*","PROPAGATION_REQUIRED,ISOLATION_DEFAULT,-Exception"); transactionInterceptor.setTransactionAttributes(properties); return transactionInterceptor; } @Bean(name="beanNameAutoProxyCreator") public BeanNameAutoProxyCreator beanNameAutoProxyCreator() { BeanNameAutoProxyCreator beanNameAutoProxyCreator = new BeanNameAutoProxyCreator(); beanNameAutoProxyCreator.setProxyTargetClass(true); beanNameAutoProxyCreator.setBeanNames("*Service"); beanNameAutoProxyCreator.setInterceptorNames("transactionInterceptor"); return beanNameAutoProxyCreator; } ###注意事项### 在某个方法依赖另外一个 正确的获取方式为: 1.直接通过参数传递需要的依赖 2.参数传递 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |