springBoot添加aop配置
springboot+aop编程
添加依赖
新建一个类
在类上加上注解:@Aspect和@Component
在类的方法上加前置方法注解:@Before("execution(public * 方法路径)")
第一步,添加依赖
Springboot.starter.aop
第二步,启动类添加注解
AOP不需要
第三步,创建处理文件
@Aspect 拦截注解
@Component 被扫描
@Before ("execution(public * 包.类.方法(..))") 方法执行之前
将通用的服务,从具体业务逻辑中分离出来
提取公用部分
AOP统一处理请求日志
pop oop
第2章 2-1
添加依赖
建立aspect类(注意要是类之后往上加注解)
@Before注解 (execution(public * 类路径.(..)))//这里括号里的..表示无论括号里是什么都会被拦截
记录一下before aspect component
拦截指定Controller下的所有方法,参数任意的写法。
注解编写时智能提示不显示时,可以先定义下面的方法。这样就会有提示了。
1.AOP是什么?
AOP是一种范式,一种程序设计思想,不是一门语言,不止在Java中有;AOP是面向切面编程思想,即:针对垂直的业务逻辑处理过程,把问题水平切割为某个步骤或阶段;就是从不同的角度看问题,换个姿势看世界,不同的设计思想还有:
面向对象编程(OOP),如Java
面向过程编程(POP),如C
2.如何创建通知?
1)pom.xml中引入切面spring-boot-starter-aop
2)新建一个切面(@Aspect和@Component标志的类),然后在切面中创建通知,如使用@Before("execution(public List com.imooc.controller.GirlController.grilList(..))")标注某一个方式,使之成为public List com.imooc.controller.GirlController.grilList(..)方法的前置通知;当然,也可以使用*泛指某类下的所有方法:public * com.imooc.controller.GirlController.*(..),在返回类型位置的*代表返回任意类型都匹配,参数列表中的..代表匹配任意参数
spring启动时会把所有类实例化,所以一般很少看到构造方法
面向切面编程(AOP),水平(切面)提取通用处理逻辑。
如何使用aop:
第二步,创建xxxAspect,类名上添加@Aspect和@Component
方法上添加@Before(xxxx)
如何使用aop:
第一步,引入依赖spring-boot-starter-aop
从面向对象到面向切面->从纵到横
AOP的重点是将通用逻辑从业务逻辑中分离出来
面向过程 VS 面向对象
AOP介绍
springboot项目AOP实现请求日志统一处理:
pom文件添加Spring-boot-starter-aop依赖
创建切面处理文件,添加注解@Aspect和@Component
在对应的方法上添加@Before或@After并设置拦截方法
AOP统一处理请求日志
AOP是一种编程范式
与语言无关,是一种程序设计思想
面向切面AOP:Aspect Oriented Programming
面向对象OOP:Object Oriented Programming
面向过程POP:Procedure Oriented Programming
AOP的关键思想:将通用逻辑从业务中分离出来
------------------------------
使用AOP的第一步 添加依赖
spring-boot-starter-aop
在类上添加@Aspect来表示是一个切面,添加@Component用于Spring管理
Aspect是切面,用于截取切点
将相似的业务作为切面分离出来
AOP是一种编程范式,与语言无关,是一种程序设计思想。
AOP(面向切面)
OOP (面向对象)
将通用业务逻辑从业务逻辑中分离
@Before(前置增强):注解语法
AOP:是一种编程范式,与语言无关,是一种程序设计思想