好久没有更新博客了。自定义注解也是之前用过,没当回事。最近一段时间又用到了。这里有一个坑。做个备忘。
坑:在@Controller层,配置自定义注解切面不生效。 需要把代理变换成cglab 代理@EnableAspectJAutoProxy(proxyTargetClass=true)
@Controller
//需要把controller 交给cglab 进行动态代理。
@EnableAspectJAutoProxy(proxyTargetClass=true)
public class DataMigrationController {
@AuthorityCertification
@RequestMapping(value = "/aaaa",method = RequestMethod.GET)
public String aaaa(@RequestParam("token")String token){
}
}
一.java自定义注解的定义
1.Java还提供了4种注解,专门负责新注解的创建:
(1). @Target:表示该注解可以用于什么地方,可能的ElementType参数有: CONSTRUCTOR:构造器的声明 FIELD:域声明(包括enum实例) LOCAL_VARIABLE:局部变量声明 METHOD:方法声明 PACKAGE:包声明

本文主要介绍了在Java中如何自定义注解及其使用,特别提到了在Spring Boot或Spring应用中,如果在@Controller层配置自定义注解切面不生效的问题,解决办法是启用CGLIB代理@EnableAspectJAutoProxy(proxyTargetClass=true)。文章还简单介绍了@Target、@Retention等元注解,并展示了如何通过自定义注解实现AOP切面增强。
最低0.47元/天 解锁文章
2360

被折叠的 条评论
为什么被折叠?



