前言
- java反射和注解是很有用的一项技术,特别是Spring已经是注解满天飞了。通过注解,用户在创建一个bean的时候,可以增加很多说明,指示这个bean的作用等,一种比较好的编程方法,可以让代码更加通用
1. 注解
- 注解有三种,分别是元注解,标准注解,自定义注解。
1.1 元注解
- 元注解就是用来注解注解的注解。用来指示这个注解的一些信息,如:
-
Target指示这个注解的作用域
image.png
-
Retention指示这个注解的级别
image.png
@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
1.2 标准注解
- 诸如@Override等,java内置的注解
1.3 自定义注解
- 如下例子自定义了一个注解。
- 有很多第三方框架都有很多注解类
package com.glg.epsdocbuilder.bean;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
public @interface PropTitle {
String value();
}
2. 注解的获取
- 需要通过反射来获取注解,因为注解是可以注解在任何类上的。
- 所以获取的注解也是这个类或这个对象进行反射后的class对象的注解。
- 当然,通过反射,还可以获取方法、属性名等。
BeanDescription peopleBeanDescription = People.class.getAnnotation(BeanDescription.class);
String des = peopleBeanDescription.description();
网友评论