Spring AOP Annotaion
来源:互联网 发布:天下手游激活码淘宝 编辑:程序博客网 时间:2024/05/18 02:36
aop Spring Annotaion
- 将下面的标签加入Spring的xml中(注意添加对应的scama)
- aop的好处:可以动态的添加或删除切面上的逻辑,而不影响原代码的执行
a) filter
b) struts2的interceptor
/** * Created by liudy on 17/4/16. * Aspect-Oriented-Programming * 面向切面编程,是对面向对象的思维方式的有力补充 * 如果被代理的对象没有实现接口,那么spring aop会使用CGLIB来产生动态代理的对象,那么需要添加相应的jar包 * 如果实现了接口,会使用jdk来产生动态代理对象 */@Aspect@Componentpublic class LogInterceptor { /* 概念 了解即可 1. JoinPoint(连接点 加入切面逻辑的点,比如某方法之前 ) 2. PointCut(JointPoint的集合 execution(* com.baobaotao.dao.*.*(..)) ) 3. Aspect(切面) 简单认为切面类中的逻辑(方法),为切面 4. Advice(加在切入点上的建议) 例如@Before @After等 5. Target 被代理对象 6. Weave 织入 */ @Pointcut("execution(public * com.baobaotao.dao..*.*(..))") public void myMethod(){ } // execution 是指方法的执行 是最常见的 还可切到属性上等等,但不常见 @Before("myMethod()") public void before(){ System.out.println("method start"); } // 在被代理对象的方法抛异常之后 @AfterThrowing("execution(public void com.baobaotao.dao.LoginLogDao.insertLoginLog(com.baobaotao.domain.LoginLog))") public void afterThrowing(){ System.out.println("after throwing"); } // 在被代理对象的方法正常返回后执行 @AfterReturning("execution(public void com.baobaotao.dao.LoginLogDao.insertLoginLog(com.baobaotao.domain.LoginLog))") public void afterReturning(){ System.out.println("method AfterReturning"); } // 在被代理对象方法的try-catch后,即finally时执行 @After("execution(public void com.baobaotao.dao.LoginLogDao.insertLoginLog(com.baobaotao.domain.LoginLog))") public void after(){ System.out.println("after"); } @Around("myMethod()") public void around(ProceedingJoinPoint pjp) throws Throwable { System.out.println(" method around start"); pjp.proceed(); System.out.println(" method around end"); } // PointCut 连接点的集合 com.baobaotao.dao包及子包(..)中,任何类的任何方法 @Before("execution(public * com.baobaotao.dao..*.*(..))") public void before1(){ System.out.println("save start"); } // 除excution外(aspectj实现的) Spring自身也提供了织入点语法 例如within this target等 但不常用}
0 0
- Spring AOP in Annotaion
- Spring AOP Annotaion
- spring mvc annotaion
- Spring Annotaion Support
- AOP、Spring的AOP
- AOP--Spring AOP
- Spring AOP 嵌套AOP
- spring AOP
- Spring AOP
- Spring AOP
- spring aop
- Spring AOP
- spring AOP
- spring aop
- Spring aop
- Spring-AOP
- Spring AOP
- spring aop
- 快速排序
- 一个通用自动处理 js版本号和css 版本号、自动压缩 js,css、自动清理网页注释工具
- LeetCode072 Edit Distance
- 题目1084:整数拆分
- oracle学习笔记
- Spring AOP Annotaion
- 让我来谈谈如何写paper!
- c++知识复习
- 长尾理论
- zoj3953 贪心 training 3
- Boost---在Windows上的入门(1)
- LeetCode Algorithms 5. Longest Palindromic Substring
- Android一整套图片解决方案
- caffe学习(7)------网络迭代时间测试