No bean named ‘transactionManager‘ available: No matching PlatformTransactionManager bean found for
1、问题现象报错:No bean named ‘transactionManager’ available: No matching PlatformTransactionManager bean found for2、问题原因项目中采用的了2个数据源,所以将配置文件中的id为transactionManager重命名了,例如改成了sysTransactionManager。在service层的i
·
1、问题现象
报错:No bean named ‘transactionManager’ available: No matching PlatformTransactionManager bean found for
2、问题原因
项目中采用的了2个数据源,所以将配置文件中的id为transactionManager重命名了,例如改成了sysTransactionManager。在service层的imp层的代码里加了注解@Transactional,但是@Transactional注解中的默认值是transactionManager
@Target({ElementType.TYPE, ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
@Inherited
@Documented
public @interface Transactional {
@AliasFor("transactionManager")
String value() default "";
@AliasFor("value")
String transactionManager() default "";
Propagation propagation() default Propagation.REQUIRED;
Isolation isolation() default Isolation.DEFAULT;
3、解决方案
3.1 修改事务管理器配置的事务id为transactionManager
<!-- 事务管理器 -->
<bean id="transactionManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<!-- 数据源 -->
<property name="dataSource" ref="dataSource"/>
</bean>
<!-- 注册事务管理驱动 -->
<tx:annotation-driven transaction-manager="transactionManager"/>
3.2 @Transactional注解中赋值transactionManager
@Transactional(transactionManager="sysTransactionManager")
更多推荐
已为社区贡献1条内容
所有评论(0)