浅谈注解

一、什么是注解?

二、最常用的注解

  • @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
– 注解元素必须要有值,我们定义注解元素时,经常使用空字

 

posted @ 2022-03-22 22:37  Jerry&Ming  阅读(27)  评论(0)    收藏  举报