好久没有更新博客了。自定义注解也是之前用过,没当回事。最近一段时间又用到了。这里有一个坑。做个备忘。
坑:在@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
:包声明 PARAMETER
:参数声明 TYPE
:类、接口(包括注解类型)或enum
声明
@Retention ,@Document,@Inherited(允许子类继承父类中的注解)</