How to configure declarative transaction management? Spring: 采用AOP。 <bean id="petStoreTarget" class="org.springframework.samples.jpetstore.dom ain.logic.PetStoreImpl"> <property name="accountDao"><ref bean="accountDao"/></property> <!-- Other dependencies omitted --> </bean> <bean id="petStore" class="org.springframework.transaction.interceptor.TransactionProxyFac toryBean"> <property name="transactionManager"><ref bean="transactionManager"/></ property> <property name="target"><ref local="petStoreTarget"/></property> <property name="transactionAttributes"> <props> <prop key="insert*">PROPAGATION_REQUIRED</prop> <prop key="update*">PROPAGATION_REQUIRED</prop> <prop key="*">PROPAGATION_REQUIRED,readOnly</prop> </props> </property> </bean> HiveMind: 没有内建支持。我自行开发了一个TransactionInterceptor <interceptor service-id="TransactionInterceptor"> <include method="add*"/> </interceptor> Comments: 在Spring中假如需要混合使用TransactionInterceptor和其他Interceptor,需要定义多个bean。增大了维护成本。 Spring支持JTA等各种Transaction manager。 HiveMind配置文件更加清楚简明。但不没有提供JTA集成很致命。 |