2-1 使用AOP处理请求 上
视频地址
- AOP
AOP是一种编程范式
与语言无关,是一种程序设计思想
面向切面(AOP)Aspect Oriented Programming
面向对象(OOP)Object Oriented Programming
面向过程(POP)Procedure Oriented Programming
面向过程到面向对象的区别
面向过程假如下雨了,我打开了雨伞
面向对象
new天气 ——》下雨
new 我 ——》打伞
AOP将通用逻辑从业务逻辑中分离出来
使用AOP时步骤:
记录每一个http请求日志在 - pom.xml里增加
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-aop</artifactId>
</dependency>
- 增加(不需要在启动类上增加注解)
具体代码入下
创建时应注意创建java类
package com.imooc.girl.aspect;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.springframework.stereotype.Component;
//需增加注解@Aspect
// @Component引入spring容器用
@Aspect
@Component
public class HttpAspect {
//执行com.imooc.girl.controller.GirlController.*(..)下面的所有方法前 输出1111 *的地方可以换成具体的方法名这样只拦截这个方法
@Before("execution(public * com.imooc.girl.controller.GirlController.*(..))")
//@Before("execution(public * com.imooc.girl.controller.GirlController.girlList(..))") 可以是这样的 ..表示任何参数 都会被拦截 com.imooc.girl.controller.GirlController.*(..) 表示任何方法都会被拦截 befor注解会在执行方法前进行拦截
public void log(){
System.out.print(1111);
}
}