Spring AspectJ基于注解的AOP实现

it2025-05-19  44

对于AOP这种编程思想,很多框架都进行了实现。Spring就是其中之一,可以完成面向切面编程。然而,AspectJ也实现了AOP的功能,且实现方式更为简捷,使用更加方便,而且还支持注解式开发。所以,Spring又将AspectJ对于AOP的实现也引入到了自己的框架中。     在Spring中使用AOP开发时,一般使用AspectJ的实现方式。

Spring的经典AOP配置方案  01.使用的是Aspectj第三方框架,实现了AOP思想  02.注解配置的AOP  03.纯POJO <aop:config>

切入点表达式execution(【modifiers-pattern?】 访问修饰符ret-type-pattern 返回值类型【declaring-type-pattern?】 全限定性类名name-pattern(param-pattern) 方法名(参数名)【throws-pattern?】) 抛出异常类型

切入点表达式要匹配的对象就是目标方法的方法名。所以,execution表达式中明显就是方法的签名。注意:表达式中加[]的部分表示可省略部分,各部分间用空格分开。在其中可以使用以下符号:符号       意义*      0至多个任意字符..     用在方法参数中,表示任意多个参数   

       用在包名后,表示当前包及其子包路径+    用在类名后,表示当前类及其子类       用在接口后,表示当前接口及其实现类案例:execution(public * *(..)) 指定切入点为:任意公共方法execution(* set*(..)) 指定切入点为:任何一个以"set"开始的方法

引入jar包   com.springsource.org.aspectj.weaver-1.6.8.RELEASE.jar  依赖包里   spring-aspects-4.2.0.RELEASE.jar

  引入aop约束   xmlns:aop="http://www.springframework.org/schema/aop"

   http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd


 

ISomeService.java

  View Code

SomeServiceImpl.java

  View Code

MyAspect.java

  View Code

applicationContext.xml

  View Code

MyTest.java

  View Code

展示效果:

转载于:https://www.cnblogs.com/6zhi/p/6023720.html

相关资源:Spring AOP之基于AspectJ注解总结与案例
最新回复(0)