AOP+自定义注解小demo

AOP+自定义注解小demo

  1. 之前用到过AOP和自定义注解进行Token校验,大概就是登录按策略生成token存到redis,aop+自定义注解实现取相关信息,扩展的话可以通过多写注解比如校验注解、排除校验注解等实现一些复杂逻辑。现在写一些简单知识用来掌握巩固。贴两篇学习的文章,完成一个小demo。
  1. 自定义注解
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.METHOD})
@Inherited
@Documented
public @interface Test {
    String logStr() default "";
}
  1. 切面
@Aspect
@Component
public class TestAspect {
    // 把切面的连接点放在了我们的注解上
    @Pointcut("@annotation(com.test.annotation.Test)")
    public void ouAspect() {
    }
    // 在这里定义前置切面
    @Before("ouAspect()")
    public void beforeMethod(JoinPoint joinPoint) {

        // 这里执行
        System.out.println("方法前.......");
        //得到被切方法的参数
        System.out.println(joinPoint.getArgs()[0]);
    }
}
  1. 控制器(入参是个user对象)
@RestController
public class UserController {

    @RequestMapping("/test")
    @Test//这是我们自定义的注解,加上这个注解后就能够切到这个方法了。
    public Object test1(User user) {
        System.out.println("方法中......");
        return "ok";
    }
}
  1. 测试
    在这里插入图片描述
  2. 结果在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值