开发中用到的注解
JDK自带的注解
@Override
重写, 标识覆盖它的父类的方法。
深入可参考
@Deprecated
已过期,表示方法是不被建议使用的
@Suppvisewarnings
压制警告,抑制警告
元注解
@Target
表示该注解用于什么地方。
java
ElemenetType.CONSTRUCTOR //构造器声明
ElemenetType.FIELD //域声明(包括 enum 实例)
ElemenetType.LOCAL_VARIABLE //局部变量声明
ElemenetType.METHOD //方法声明
ElemenetType.PACKAGE //包声明
ElemenetType.PARAMETER //参数声明
ElemenetType.TYPE //类,接口(包括注解类型)或enum声明
ElementType.ANNOTATION_TYPE //注解
@Retention
表示在什么级别保存该注解信息。
java
RetentionPolicy.SOURCE 注解将被编译器丢弃
RetentionPolicy.CLASS 注解在class文件中可用,但会被VM丢弃
RetentionPolicy.RUNTIME JVM将在运行期也保留注释,因此可以通过反射机制读取注解的信息。
@Documented
将此注解包含在 javadoc 中.
@Inherited
允许子类继承父类中的注解。
用在实体类上的
@Data
提高代码的简洁性,可以省去代码中的get()、set()、equals()、hashCode()、toString()等方法。
需要maven中引入lombok.jar包。
java
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.4</version>
<scope>provided</scope>
</dependency>
类上使用。
使用起来也很方便,直接在相应的实体类上加上@Data注解就可以了。
@AllArgsConstructor
类上使用。
提供类的全参构造。
@NoArgsConstructor
类上使用。
提供类的无参构造。
@Setter
属性上使用。
提供set()方法。
@Getter
属性上使用。
提供get()方法。
@EqualsAndHashCode
类上使用。
提供对应的 equals 和 hashCode 方法。
@Log4j/@Slf4j
类上使用。
提供对应的 Logger 对象,变量名为 log。