spring事宜配置是在业务逻辑层还是dao层

spring事务配置是在业务逻辑层还是dao层?spring事务配置是在业务逻辑层还是dao层?业务逻辑层和dao层都可以

spring事务配置是在业务逻辑层还是dao层?
spring事务配置是在业务逻辑层还是dao层?

业务逻辑层和dao层都可以配置事务处理,如果一个service调用多个dao,它们如果是一个事务,那么事务应该配置业务逻辑层,否则配置在dao层就可以了。

配置到dao层

<bean id="customerDaoProxy"
   />
   </property>
   <property name="target">
    <ref local="customerDao" />
   </property>
   <property name="transactionAttributes">
    <props>
     <prop key="add*">PROPAGATION_REQUIRED</prop>
     <prop key="create*">PROPAGATION_REQUIRED</prop>
     <prop key="update*">PROPAGATION_REQUIRED</prop>
     <prop key="delete*">PROPAGATION_REQUIRED</prop>
     <prop key="query*">PROPAGATION_REQUIRED,readOnly</prop>
    </props>
   </property>

配置到service层

<bean id="serviceProxy"
   />
   </property>
   <property name="target">
    <ref local="customerService" />
   </property>
   <property name="transactionAttributes">
    <props>
     <prop key="add*">PROPAGATION_REQUIRED</prop>
     <prop key="create*">PROPAGATION_REQUIRED</prop>
     <prop key="update*">PROPAGATION_REQUIRED</prop>
     <prop key="delete*">PROPAGATION_REQUIRED</prop>
     <prop key="query*">PROPAGATION_REQUIRED,readOnly</prop>
    </props>
   </property>