spring中实现自定义注解
记录我在工作的代码中遇见了使用到了自定义注解,于是私下研究了一番。
使用场景:
我把注解的使用场景总结了一番,1是用在注解实现AOP拦截以及操作日志记录,2注解实现对前端参数的数据有效性校验。
直接看代码吧。
在interface前面加上@符号,这时候接口就变成了注解的定义了
@ target表示该注解的作用域,值有TYPE, METHOD, CONSTRUCTOR, FIELD,我们常用field和method,表示作用在java bean的字段和作用在方法层面上
@retention表示注解类型保留时间的长短,它接收RetentionPolicy参数,可能的值有SOURCE, CLASS, 以及RUNTIME,我们常用runtime,表示在编译以及java vm都会保存,所以可以用来反射阶段获取字段的额外属性值
@constraint表示注解的约束关系,其中有属性值validateBy这个属性开放出来给我么使用,目的是设定约束关系的实现类,这点与我们上面谈到的第2点有关
@document表示该注解可以被javadoc等工具文档化
然后就可以在项目中使用注解了
一起学习,一块进步。