最近在网上看了一些关于SpringAOP的一些博客,发现他们写的都不是特别适合我这种新手。所以我在这总结一下,并给出部分代码和截图,开发工具和环境如下:
开发环境:jdk1.8
开发工具:idea、maven
- 引入依赖:
<!-- aop -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-aop</artifactId>
</dependency>
<!-- @Aspect-->
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
</dependency>
- 配置application.properties
有些博客是在@SpringBootApplication启动文件中配置的(个人喜欢在application.properties中配置)
> #AOP
spring.aop.proxy-target-class=true
spring.aop.auto=true
- 配置AOP拦截类
@Before(value = “execution(public * com.zijing.school.controller.UserController.userRegister(…))”)中userRegister(…)的两个 “.” 表示用户传过来的参数
@Component
@Aspect
public class UserAspect {
private final Log log = LogFactory.getLog(UserAspect.class);
@Before(value = "execution(public * com.zijing.school.controller.UserController.userRegister(..))")
public void doBeforeRegister(JoinPoint joinPoint) {
log.info(" 检查是否已经注册");
Object[] obj = joinPoint.getArgs();
for (Object argItem : obj) {
System.out.println("---->now-->argItem:" + argItem);
log.info(argItem + "");
// if (argItem instanceof ParamVO) {
// ParamVO paramVO = (ParamVO) argItem;
// paramVO.setInputParam("666666");
// }
// System.out.println("---->after-->argItem:" + argItem);
}
}
}
于2020/01/20,完毕!没有弄demo,就不放连接地址了哈。