Elvins 2015-04-29 15:45 采纳率: 0%
浏览 2945

关于spring4.X的aop配置问题

例子配置文件

<!-- 配置事务通知属性 -->
    <tx:advice id="txAdvice" transaction-manager="transactionManager">
        <!-- 定义事务传播属性 -->
        <tx:attributes>
            <tx:method name="insert*" propagation="REQUIRED" rollback-for="Exception"/>
            <tx:method name="update*" propagation="REQUIRED" rollback-for="Exception"/>
            <tx:method name="edit*" propagation="REQUIRED" rollback-for="Exception"/>
            <tx:method name="save*" propagation="REQUIRED" rollback-for="Exception"/>
            <tx:method name="add*" propagation="REQUIRED" rollback-for="Exception"/>
            <tx:method name="new*" propagation="REQUIRED" rollback-for="Exception"/>
            <tx:method name="set*" propagation="REQUIRED" rollback-for="Exception"/>
            <tx:method name="remove*" propagation="REQUIRED" rollback-for="Exception"/>
            <tx:method name="delete*" propagation="REQUIRED" rollback-for="Exception"/>
            <tx:method name="change*" propagation="REQUIRED" rollback-for="Exception"/>
            <tx:method name="get*" propagation="REQUIRED" read-only="true" />
            <tx:method name="find*" propagation="REQUIRED" read-only="true" />
            <tx:method name="load*" propagation="REQUIRED" read-only="true" />
            <tx:method name="*" propagation="REQUIRED" read-only="true" />
        </tx:attributes>
    </tx:advice>

<!-- 配置事务切面 -->
    <aop:config>
        <aop:pointcut id="serviceOperation"
            expression="execution(* com.cbgmcs.service..*.*(..))" />
        <aop:advisor advice-ref="txAdvice" pointcut-ref="serviceOperation" />
    </aop:config>  

在上面的例子中,这个事务切面指的是对com.cbgmcs.service类中的被txAdvice中声明的方法做拦截约束吗?
如果是这样的话,service层不是应该是实现业务逻辑的吗?上面那个get, find, insert等方法不都是dao层的方法来的吗?应该不可能在service实现上面的方法吧。
我看网上很多例子都是约束在service层的,难道service层是实现数据库增删查改的?
根据我的理解,假设这个是一个userService的话,里面的方法应该是login()之类的吧,而不get, find, insert等方法吧。
求指导。

  • 写回答

1条回答 默认 最新

  • wxshi_java 2015-04-30 01:59
    关注

    这个配置没什么问题啊,上面的意思是service层拦截所有数据处理异常进行回滚啊。数据处理当然在dao层了。service层也就只是个须有的层而已,处理业务。就是充当control层域dao的解耦作用的东西,你要不使用service层也是可以的,就代码难看一点咯。

    评论

报告相同问题?

悬赏问题

  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题