@Transactional事务注解指定该注解采用的事务管理器

Spring版本必须是在3.x后,因为2.x里的@Transcation注解是不支持多数据源的。

3.x后我们可以通过限定名来指点,该注解采用的事务管理器。如果不指定默认会使用名为“transationManager”的事务管理器。

废话不多说,上样例:

<tx:annotation-driven/>    
    
<bean id="transactionManager1" class="org.springframework.jdbc.DataSourceTransactionManager">    
...     
<qualifier value="a"/>    
</bean>    
<bean id="transactionManager2" class="org.springframework.jdbc.DataSourceTransactionManager">    
...     
<qualifier value="b"/>    
</bean>     
我们通过qualifier为两个transactionmanager设定了限定名,那么我们在使用注解的时候只要附上就可以了。
@Transactional("a")     
public void doSomething(String name) { ... }     
    
@Transactional("b")     
public void doSomething() { ... }     

你可能感兴趣的:(spring,bean,String,Class)