8、Springboot 集成Aop

1、引入aop maven依赖


注意:(1) 去除默认logging组件,因为我们框架已经更改使用log4j2;


           (2)引入依赖后AOP默认开启,无需再添加开启aop注解

2、声明aop切面处理类(切面处理操作实现类) @Aspect @Component @Order(index)

注:怎样声明一个自定义注解?要用到4个元注解:(具体实现方式不详细说明)

  • 注解保留位置 @Retention(RetentionPolicy.RUNTIME) RetentionPolicy.RUNTIME、SOURCE、CLASS

  • 注解作用目标 @Target(ElementType.METHOD) ElementType.TYPE、METHOD、FIELD、......

  • 该注解将被包含在javadoc中 @Document

  • 子类可以继承父类中的该注解@Inherited

 

 

 

(2)execution表达式

  • execution(public * com.chn.frameweb.business.service.demo.demoServiceImpl.*(..)))

  • execution(public * com.chn.frameweb.business.service.demo.*.*(..)))

 

  • 详解 :

  1. 第一个 public 表示方法的修饰符,可以用*代替

  2. 第一个 * 表示 返回值,*代表所有

  3. public * com.chn.frameweb.business.service.demo.* 包路径,.*表示路径下的所有包;


也可指定具体的类com.chn.frameweb.business.service.demo.demoServiceImpl

  1. 第三个.* 表示路径下所有类或指定的类下, 类的所有方法(也可指定特定方法)

  2. (..) 表示不限方法参数

 

4、设置切面处理时间及绑定切点

 

  • @AfterReturning :方法执行后开始处理, pointcut="" 绑定切点

  • @Before :方法执行前开始处理,value="" 绑定切点

5、@order配置参数说明


@order(index),index取值(0,1,2,3,......)

 

  • org.springframework.core.annotation.Order;

  • @Order的作用域可以是类、方法、类成员

  • 注解类,i值是,值越小,优先级越高

  • 注解AOP方法: @Before 是i值越小,优先级越高; @After或者@AfterReturning 中,i值越大,优先级越高

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值