spring中实现自定义注解

        记录我在工作的代码中遇见了使用到了自定义注解,于是私下研究了一番。

        使用场景:

        我把注解的使用场景总结了一番,1是用在注解实现AOP拦截以及操作日志记录,2注解实现对前端参数的数据有效性校验。

         直接看代码吧。

 

spring中实现自定义注解

     在interface前面加上@符号,这时候接口就变成了注解的定义了

    @ target表示该注解的作用域,值有TYPE, METHOD, CONSTRUCTOR, FIELD,我们常用field和method,表示作用在java      bean的字段和作用在方法层面上

   @retention表示注解类型保留时间的长短,它接收RetentionPolicy参数,可能的值有SOURCE, CLASS, 以及RUNTIME,我们常用runtime,表示在编译以及java vm都会保存,所以可以用来反射阶段获取字段的额外属性值

    @constraint表示注解的约束关系,其中有属性值validateBy这个属性开放出来给我么使用,目的是设定约束关系的实现类,这点与我们上面谈到的第2点有关

    @document表示该注解可以被javadoc等工具文档化

spring中实现自定义注解

 spring中实现自定义注解

然后就可以在项目中使用注解了

spring中实现自定义注解

 

一起学习,一块进步。