Spring AOP深入剖析
测试类: public class Test01 { @Test public void proxyTest(){ ApplicationContext ctx=new ClassPathXmlApplicationContext("applicationContext.xml"); ISomeService ser=(ISomeService) ctx.getBean("some"); ser.tran(); ser.log(); }
四、Spring的经典AOP配置方案、使用的是Aspectj第三方框架,实现了AOP思想。注解配置的AOP,纯POJO <aop:config> 具体步骤: ②使用注解定义前置增强和后置增强实现日志功能 ③编写Spring配置文件,织入注解定义的增强 ④编写代码获取带有增强处理的业务对象 核心JAR包: 实现思路: 1、定义接口实现类,并重写该方法 public interface ISomeService { public void list(); } public class SomeService implements ISomeService{ public void list() { System.out.println("SomeService.list()"); } } 2、通过注解实现增强,自定义类 使用@Aspect注解将该类定义为切面,并且使用@Before注解将该方法定义为前置增强,增强定义完后,就可以在Spring配置文件中织入使用注解定义的增强了 @Aspect public class MyAspectj { @Before(value = "execution(* *..service.*.*(..))") public void MyBeforeAdvice(){ System.out.println("==before=="); } } 3、Spring配置文件 4、进行测试: public class Test01 { @Test public void proxyTest(){ ApplicationContext ctx=new ClassPathXmlApplicationContext("applicationContext.xml"); ISomeService ser=(ISomeService) ctx.getBean("some"); ser.list(); } 实现效果:
※※※补充点: 切入点表达式:
} 切入点表达式要匹配的对象就是目标方法的方法名。所以,execution表达式中明显就是方法的签名。 注意:表达式中加[]的部分表示可省略部分,各部分间用空格分开。在其中可以使用以下符号: (编辑:源码网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |