说好坚持日更的,失言了!抱歉。
下面是我对aop的入门经验,看了几天资料,练习总结出来,如果不妥请指正。
我是从 作用-原理-基本概念-使用 三方面入手的;
作用:aop也叫面向切面编程。有些方法是与业务无关,如日志打印,我是经常采用面向对象,通常会写个工具类来管理的,但缺点是需要每个类都组合这个工具类,调用的地方也是到处都是。aop编程就可以解决这个问题,将这些与业务无关方法管理起来。aop就要解决在何时调用这些方法。
基本概念有
目标方法: 被调用的对象,例如 登录接口
切入点: 哪些目标方法被执行时 ,如下文的Pointcut,解决“何地”。(注意格式)
连接点: 对切面来说,目标方法就是连接点
拦截器:@Around等注解与切入点组合就是拦截器 :解决在何时何地进行。
增强: 拦截器+实现方法 ,包括前置增强,后者增强等;
切面:Aspect,一个类,包含了多个切点,多个增强等
织入:就是将这些切面的方法链入到目标方法前后;常分为编译期链入,类加载期链入,运行期链入
下面是一个例子:
使用@Aspect定义了一个切面,@Componet生成了一个Aspect对象,调用目标对象前,先执行增强方法内的打印, 后面proceed()会调用连接点的方法。
利用注解实现步骤有 1加入安装包,2 加入EnableAspectJAutoProxy注解
3 定义Aspect类。