在使用spring集成hibernate时,我们可以用下面的代码来配置声明式事务。
<tx:advice id="txAdvice" transaction-manager="transactionManager">
<tx:attributes>
<tx:method name="add*" propagation="REQUIRED"/>
<tx:method name="del*" propagation="REQUIRED"/>
<tx:method name="modify*" propagation="REQUIRED"/>
<tx:method name="update*" propagation="REQUIRED"/>
<tx:method name="creat*" propagation="REQUIRED"/>
<tx:method name="insert*" propagation="REQUIRED"/>
<tx:method name="*" read-only="true"/>
</tx:attributes>
</tx:advice>
<aop:config>
<aop:pointcut id="allManagerMethod" expression="execution(* zgjh.gzth.BQA.service.*.*(..))"/>
<aop:advisor pointcut-ref="allManagerMethod" advice-ref="txAdvice"/>
</aop:config>
这段配置的缘由是想拦截所有service层的方法,只要service的方式不是已add*,del*,modify*,update*,creat*,insert*这些开头的那么就只有可读的权限,比如说查询的方法就可以随便命名,但是你要想对数据库进行操作的话,必须要按照这个方式来命名。这样就可以保证我们在多人进行开发时更好的管理。
当然spring 的配置还有很多,留待下章讲解。