自定义注解
- 当使用自定义注解时,首先创建一个注解的实体,类似于

@interface表示这是一个注解类,类上面包含@Target和@Retention注解,其中
@Target:注解的作用目标
@Target(ElementType.TYPE)——接口、类、枚举、注解
@Target(ElementType.FIELD)——字段、枚举的常量
@Target(ElementType.METHOD)——方法
@Target(ElementType.PARAMETER)——方法参数
@Target(ElementType.CONSTRUCTOR) ——构造函数
@Target(ElementType.LOCAL_VARIABLE)——局部变量
@Target(ElementType.ANNOTATION_TYPE)——注解
@Target(ElementType.PACKAGE)——包
@Retention:注解的保留位置
RetentionPolicy.SOURCE:这种类型的Annotations只在源代码级别保留,编译时就会被忽略,在class字节码文件中不包含。
RetentionPolicy.CLASS:这种类型的Annotations编译时被保留,默认的保留策略,在class文件中存在,但JVM将会忽略,运行时无法获得。
RetentionPolicy.RUNTIME:这种类型的Annotations将被JVM保留,所以他们能在运行时被JVM或其他使用反射机制的代码所读取和使用。
2.当需要指定注解的属性值时,可以考虑再注解实体中使用枚举类,对应属性的取值,将从枚举类中获取。如下:

3.参照@ComponentScans注解定义注解集合

注解集合要求属性类也必须是一个注解。
注解集合的使用为:
@ComponentScans(value = @ComponentScan(注解中的具体属性指向))
浙公网安备 33010602011771号