AOP+自定义注解小demo
- 之前用到过AOP和自定义注解进行Token校验,大概就是登录按策略生成token存到redis,aop+自定义注解实现取相关信息,扩展的话可以通过多写注解比如校验注解、排除校验注解等实现一些复杂逻辑。现在写一些简单知识用来掌握巩固。贴两篇学习的文章,完成一个小demo。
- 自定义注解
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.METHOD})
@Inherited
@Documented
public @interface Test {
String logStr() default "";
}
- 切面
@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]);
}
}
- 控制器(入参是个user对象)
@RestController
public class UserController {
@RequestMapping("/test")
@Test
public Object test1(User user) {
System.out.println("方法中......");
return "ok";
}
}
- 测试
- 结果