标签:target att qualifier ext data spring getc code ice
package org.whm.appcore; import java.util.Properties; import javax.sql.DataSource; import org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.context.annotation.Bean; import org.springframework.jdbc.datasource.DataSourceTransactionManager; import org.springframework.stereotype.Component; import org.springframework.transaction.interceptor.TransactionInterceptor; @Component public class TxConfig { @Autowired private DataSource dataSource; @Autowired private TransactionInterceptor txAdvice; // 创建事务管理器 @Bean(name = "txManager") public DataSourceTransactionManager getTx(@Autowired DataSource ds) { DataSourceTransactionManager dsTx = new DataSourceTransactionManager(ds); return dsTx; } // 创建事务通知。。 @Bean(name = "txAdvice") public TransactionInterceptor getAdvisor(@Qualifier("txManager") DataSourceTransactionManager txManager) throws Exception { TransactionInterceptor tsi = new TransactionInterceptor(); Properties properties = new Properties(); properties.setProperty("get*", "PROPAGATION_REQUIRED,-Exception,readOnly"); properties.setProperty("add*", "PROPAGATION_REQUIRED,-Exception,readOnly"); properties.setProperty("save*", "PROPAGATION_REQUIRED,-Exception,readOnly"); properties.setProperty("update*", "PROPAGATION_REQUIRED,-Exception,readOnly"); tsi.setTransactionAttributes(properties); return tsi; } @Bean public BeanNameAutoProxyCreator txProxy() { BeanNameAutoProxyCreator creator = new BeanNameAutoProxyCreator(); creator.setInterceptorNames("txAdvice"); creator.setBeanNames("*Service", "*ServiceImpl"); creator.setProxyTargetClass(true); return creator; } }
标签:target att qualifier ext data spring getc code ice
原文地址:http://www.cnblogs.com/whm-blog/p/7262101.html