码迷,mamicode.com
首页 > 编程语言 > 详细

Spring-AOP的三种方式

时间:2020-03-01 19:55:31      阅读:73      评论:0      收藏:0      [点我收藏+]

标签:api   方法   point   diy   cad   方式   top   通知   ring   

<!--方式一-->
<!--使用原生Spring Api接口-->
<!--配偶AOP:需要导入aop的约束-->
<aop:config>
<!--切入点,expression 表达式.execution(要执行的位置!)-->
<aop:pointcut id="pointcut" expression="execution(* cn.scitc.service.MethedDaoImpl.MethedDaoImpl.*(..))"/>
<!--执行环绕增强-->
<aop:advisor advice-ref="beforeLog" pointcut-ref="pointcut"/>
<aop:advisor advice-ref="afterlog" pointcut-ref="pointcut"/>
</aop:config>

<!--方式二 自定义实现aop-->
<bean id="DiyMethed" class="cn.scitc.diy.DiyMethed"/>
<aop:config>
<aop:aspect ref="DiyMethed">
<!--切入点-->
<aop:pointcut id="pointCut" expression="execution(* cn.scitc.service.MethedDaoImpl.MethedDaoImpl.*(..))"/>
<!--通知-->
<aop:before method="before" pointcut-ref="pointCut"/>
<aop:after method="after" pointcut-ref="pointCut"/>
</aop:aspect>
</aop:config>

<!--方式三 注解-->
<bean id="diyAnnocade" class="cn.scitc.diy.DiyAnnocade"/>

//方式三
@Aspect
public class DiyAnnocade {

@Before("execution(* cn.scitc.service.MethedDaoImpl.MethedDaoImpl.*(..))")
public void before(){
System.out.println("==========方法执行之前===========");
}

@After("execution(* cn.scitc.service.MethedDaoImpl.MethedDaoImpl.*(..))")
public void after(){
System.out.println("==========方法执行之后===========");
}
}


<!--开启注解支持-->
<aop:aspectj-autoproxy/>

Spring-AOP的三种方式

标签:api   方法   point   diy   cad   方式   top   通知   ring   

原文地址:https://www.cnblogs.com/wpy188/p/12391314.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!