AOP

1.创建类,在类里面定义方法

2.增强类,创建方法

3.进行通知配置

  在spring配置文件中,开始注解扫描

  <!--开启注解扫描-->

<context:component-scan base-package="com.fqqa.spring5AOP.aopnno"></context:component-scan>

  使用注解创建User和UserProxy对象

  在增强类添加注解@Aspect

  在spring配置文件中开启生成代理对象

<aop:aspectj-autoproxy></aop:aspectj-autoproxy>

  相同的切入点抽取

// 相同的切入点抽取
@Pointcut(value = "execution(* com.fqqa.spring5AOP.aopnno.User.add(..))")
public void pointDemo(){}

// 前置通知
@Before(value = "pointDemo()")
public void before(){
System.out.println("before.....");
}

  有多个增强类在同一个方法进行增强,设置增强优先级

 在增强类中上面添加注解@Order(数字类型值),数字类型值越小优先值越高

 

配置文件中也可以进行安排操作

 

AOP:面向切面编程,不通过修改源代码,在主干功能添加新功能

AOP底层使用动态代理

第一种有接口情况,使用JDK动态代理

第二种没有接口情况,使用CGLIB动态代理

posted on 2020-10-13 16:09  FQQa  阅读(140)  评论(0)    收藏  举报