浅谈注解
一、什么是注解?
二、最常用的注解
- @Deprecated 过时的注解
- @Override 重写的注解可以校验方法是否继承父类方法给以提示
- @SuppressWarnings 警告的提醒
三、注解的源码简单熟悉:
1 @Target({TYPE, FIELD, METHOD, PARAMETER, CONSTRUCTOR, LOCAL_VARIABLE}) 2 @Retention(RetentionPolicy.SOURCE) 3 public @interface SuppressWarnings { 4 5 String[] value(); 6 }
在此我们可以看到注解的value属性,如果没有默认值,那么在使用的使用必须要把所有的属性给填写上。所以我们一般的时候都填写默认值,可以参考requestMapping注解
requestMapping
@Target({ElementType.TYPE, ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME) @Documented @Mapping public @interface RequestMapping { String name() default ""; @AliasFor("path") String[] value() default {}; @AliasFor("value") String[] path() default {}; RequestMethod[] method() default {}; String[] params() default {}; String[] headers() default {}; String[] consumes() default {}; String[] produces() default {}; }
四、自定义注解:
自定义注解 ▪ 使用@interfac自定义注解时,自劢继承了 java.lang.annotation.Annotation接口 ▪ 使用觃则: – @interface用来声明一个注解,格式:public @interface 注解名{} – 其中的每一个方法实际上是声明了一个配置参数 – 方法的名称就是参数的名称 – 返回值类型就是参数的类型(返回值叧能是基本类型,Class,String,enum) – 可以头盖骨default来声明参数的默认值 – 如果叧有一个参数成员,一般参数名为value – 注解元素必须要有值,我们定义注解元素时,经常使用空字
本文来自博客园,作者:Jerry&Ming,转载请注明原文链接:https://www.cnblogs.com/jerry-ming/p/16041901.html