springboot配置AOP遇到的一些坑(使用注解)

最近在网上看了一些关于SpringAOP的一些博客,发现他们写的都不是特别适合我这种新手。所以我在这总结一下,并给出部分代码和截图,开发工具和环境如下:
开发环境:jdk1.8
开发工具:idea、maven

  1. 引入依赖:
		<!-- aop -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-aop</artifactId>
        </dependency>
        <!-- @Aspect-->
        <dependency>
            <groupId>org.aspectj</groupId>
            <artifactId>aspectjweaver</artifactId>
        </dependency>

在这里插入图片描述

  1. 配置application.properties

有些博客是在@SpringBootApplication启动文件中配置的(个人喜欢在application.properties中配置)

> #AOP
spring.aop.proxy-target-class=true
spring.aop.auto=true

在这里插入图片描述

  1. 配置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,就不放连接地址了哈。

发布了5 篇原创文章 · 获赞 0 · 访问量 807

猜你喜欢

转载自blog.csdn.net/qq_41237503/article/details/104048441