day39-Spring 08-Spring的AOP:基于AspectJ的注解

基于AspectJ的注解的开发要重点掌握.

这些表达式肯定要应用在我们的某些个增强上.


学习AspectJ也是两种形式:一种是XML,一种是注解.AspectJ的增强,就是那些通知的类型.AspectJ定义了六种通知的类型.引介通知不学.除了前置和后置、环绕通知、抛出通知,还多了一个@After 最终final通知.最终final通知是类似于try catch finally代码块,finally代码块不管你有没有抛出异常这个增强它都会执行.


上午引的Spring AOP的jar包,但是Spring AOP得支持AspectJ,因为AspectJ本身是一个第三方的框架.你要是想用它,你就得引入包.AspectJ必须是依赖Spring AOP的环境的.也就是说AOP的环境还是需要的.Spring整合AspectJ.

编写一个被代理对象就是UserDao.

切面是切点和增强/通知的结合. 切点就是哪些方法要使用什么增强.

@Aspect //这个AspectJ注解用来定义切面,是org.aspectj里面的注解

上午说了三种自动代理的方式,一种是按名称的,一种是按照切面本身的信息,还有一个是按照注解.

所以这句话的底层是按照注解生成自动代理.如果你的注解什么的都写好了,会帮你自动生成代理.这是基于Bean中的AspectJ.


在Spring中注册过的类它才能帮你生成代理.在applicationContext.xml中一定义就OK了.

     <bean id="myAspect" class="cn.itcast.spring3.demo1.MyAspect"></bean>

原文地址:https://www.cnblogs.com/ZHONGZHENHUA/p/6805649.html