当前位置: 首页 > 知识库问答 >
问题:

为什么tx注释驱动会产生冲突?

席言
2023-03-14
<tx:annotation-driven transaction-manager="txManager"/>

    <bean id="txManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <property name="dataSource" ref="dataSource"/>
    </bean>

当我评论tx:annotation-drive时,一切都很好,但是带有@transactional注释的method不起作用。我做错了什么?

我的年级依赖关系:

compile group: 'org.springframework', name: 'spring-web', version: '5.1.5.RELEASE'
    compile group: 'org.springframework', name: 'spring-webmvc', version: '5.1.5.RELEASE'
    compile group: 'org.springframework.boot', name: 'spring-boot-starter-web', version: '2.1.3.RELEASE'
compile group: 'org.springframework', name: 'spring-jdbc', version: '5.1.5.RELEASE'

共有1个答案

王凌
2023-03-14

您需要做的是启用bean重写。从Spring2.1开始,这在默认情况下是禁用的。您将得到一个异常,因为已经有一个用相同名称定义的bean。

Spring 2.1发行说明摘录:发行说明2.1-Bean重写

长话短说,您需要将其添加到应用程序.properties文件中:

spring.main.allow-bean-definition-overriding=true
spring:
   main:
     allow-bean-definition-overriding: true
 类似资料:
  • 你好,朋友,我正在开发基于spring(4.0.3)和hibernate(4.3.6)的应用程序。在会话工厂中保存任何对象时,我遇到以下错误: 下面是我在application-context.xml中使用的条目 还有一件事我想带到这里,如果我在事务管理器属性中使用了任何值,而不是实际的transactionManager作为bean引用,那么这不是抛出错误。所以我认为它没有参考价值<请帮帮我!!

  • 我在我的“tx:注解驱动”行上得到了上面的错误,但是我已经在bean文件的顶部声明了命名空间,为什么以下XML会导致这个错误?

  • 本文向大家介绍解释生产者是什么?相关面试题,主要包含被问及解释生产者是什么?时的应答技巧和注意事项,需要的朋友参考一下 答:生产者的主要作用是将数据发布到他们选择的主题上。基本上,它的职责是选择要分配给主题内分区的记录。

  • 问题内容: 我将Spring 3.1.3用于Web应用程序,将XML配置与组件扫描结合使用。 我意识到,其中一个扫描组件必须在其他几个组件之前进行初始化。在所有需要构造后初始化的类上,我在方法上具有@PostConstruct批注。 为了设置依赖关系顺序,我在需要先后构造的类上将“ @Component”更改为“ @Component(“ configData”)”。然后,在每个需要在“ conf

  • 我观察到库函数,当它在循环中被调用一次时,它几乎总是产生正数。

  • 我不明白为什么< code>gcc -S -m32会产生这些特定的代码行: C 代码: 它给出以下输出: