1.事务配置在业务逻辑接口层:
<aop:config proxy-target-class="true">
<aop:advisor pointcut="execution(* com.zx.blog.service.*Service.*(..))" advice-ref="txAdvice">
</aop:config>
<aop:config proxy-target-class="true">
<aop:advisor pointcut="execution(* com.zx.blog.service.impl.*Service*.*(..))" advice-ref="txAdvice">
</aop:config>
spring中事务不属于任何一个层次,接口和类都是可以的。
都可以,接口层proxy-target-class可以设置为false。
每个业务类一个接口有点麻烦呀,所以很多大牛都建议:“除非可以预见业务类将来一定会发生变化,否则不用写接口”。
我们项目都是将Spring 事务写在配置文件的,这样我们程序代码就不用再考虑事务提交不完整了。
Spring的事务是配置在接口上
但是我们一般都将其配置在接口上
有时候写接口不一定是为了业务变化,有可能我就是想要个Mock实现以便于测试,就有抽取接口的需求。
Spring IoC的配置,就是为了避免直接实现类直接交互;
所以接口上配置事务,是对的.
如果考虑到扩展性,我觉得还是在接口上定义吧。
虽然com.zx.blog.service.impl.*Service*.*这样可以保证许多种扩展可能。
并且如果在实现类上定义,感觉也不象Spring的风格啊。
敏捷是一种态度,spring的核心思想其实是循证主义。有扩展的必要就用接口,否则就直接用实现类。dao interface + dao impl + service interface + service impl + action,多麻烦呀。
一般都是实现层,不过可以直接写在你的所有报下面来个事务控制,不一定要写在那个里面[code="java"]
/aop:config
[/code]
把你后面的代码都给干掉,直接那样,我就是这么干的
两个都可以的
:cry:
MS只能在接口层吧... 实现层反正我没有成功过