Java Spring声明性事务管理
在spring配置文件中,我公司的最后一位开发人员声明为Java Spring声明性事务管理,java,spring,hibernate,spring-transactions,Java,Spring,Hibernate,Spring Transactions,在spring配置文件中,我公司的最后一位开发人员声明为 <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource"> <ref bean="autoCreateHocDS"/> </property> </
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource">
<ref bean="autoCreateHocDS"/>
</property>
</bean>
但并没有任何像@Transaction这样的AOP或注释被编写来定义应该应用它的类
这里我的第一个执行类是OCsAutoCreateHocJob,它是内部调用服务和dao类
所以这里我的疑问是,在类链中应用什么级别的事务管理,或者在没有定义事务级别的情况下它将不应用,或者事务管理将应用于所有类 您通常使用
@Transaction
注释您的服务层,因为这是执行业务逻辑(计算、数据操作等)的层,需要多次调用DAO层。这样,您可以使用单个事务执行一系列数据库方法,其中可以回滚在发生错误时执行的所有数据库操作
<!-- proxy-target-class is set to true to use transactional scope -->
<tx:annotation-driven proxy-target-class="true" transaction-manager="tomcatTransactionManager" />
<!-- Transaction Manager -->
<bean id="tomcatTransactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="myDataSource" />
</bean>
是。我知道,但若我们不在服务层声明和@tra,它将如何工作?在配置文件中,我只看到配置文件中的tomcatTransactionManager bean,并没有看到其他内容。那么在这种情况下,它将如何工作?