aop:config
<aop:pointcut id="pointcut"
expression="execution(public * com.ace.service.impl.*Impl.*(..))" />
<aop:advisor advice-ref="txAdvice" pointcut-ref="pointcut" />
</aop:config>
我想问问这段配置是干嘛用的
先说一下AOP是干什么呢, AOP是面向切面的编程, 通过AOP可以将业务的各个部分进行隔离,从而是各个部分耦合度降低。常用于做日志记录,性能统计,安全控制,事务处理,异常处理等。
接着再介绍几个概念:
Joint point:表示在程序中明确定义的点,典型的包括方法调用,对类成员的访问以及异常处理程序块的执行等等,它自身还可以嵌套其它 joint point。
Pointcut:表示一组 joint point,这些 joint point 或是通过逻辑关系组合起来,或是通过通配、正则表达式等方式集中起来,它定义了相应的 Advice 将要发生的地方。
Advice:Advice 定义了在 pointcut 里面定义的程序点具体要做的操作,它通过 before、after 和 around 来区别是在每个 joint point 之前、之后还是代替执行的代码
Advisor: 通知器, 包括通知和切点
结合上面的概念再来看楼主的例子就比较清晰了
定义了切点, 即要拦截哪些操作。 这个例子就是说要拦截com.ace.service.impl这个包下的所有以Impl结尾的所有public方法。
定义了通知器, 该通知器指定了刚刚说的那个切点, 还指定了基于这个切点要做什么操作, 具体的操作逻辑在txAdvice中。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。