我似乎对 spring 注释驱动的事务管理和 tomcat 有问题。这些是我在项目中使用的一些 bean:
<bean id="dataSource" class="service.myBatis.RoutingDataSource"> </bean>
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource"/>
</bean>
<tx:annotation-driven transaction-manager="transactionManager" />
当我在 Eclipse 中运行项目时,一切正常。但是当我在 tomcat 中运行项目时,它并没有超越 bean 的创建。它也没有给我一个错误或任何错误的指示。
日志显示它以实例化 bean 完成,然后突然销毁所有 bean:
[DEBUG] 12 jul 09:28:55.888 AM localhost-startStop-1 [org.springframework.beans.factory.support.DefaultListableBeanFactory]
Finished creating instance of bean 'org.springframework.transaction.config.internalTransactionAdvisor'
[INFO] 12 jul 09:28:55.895 AM localhost-startStop-1 [org.springframework.beans.factory.support.DefaultListableBeanFactory]
Destroying singletons in........
如果我删除该<tx:annotation-driven transaction-manager="transactionManager" />
行,项目将在 tomcat 和 eclipse 中正常启动。
通常,如果某些东西在 Eclipse 中有效而在 tomcat 中无效,则这是由于 tomcat 找不到某些类/库或资源造成的。我不知道是什么原因造成的
谁能告诉我问题是什么?为什么它会破坏所有的bean而不给出错误?