Spring框架注解干货-意图说尽
2018-08-24 本文已影响23人
醉枫浅墨
注解(Annotation)
注解是JDK 1.5开始出现的新特性。它可以用于创建文档,跟踪代码中的依赖性,甚至执行基本编译时检查。注解是以‘@注解名’在代码中存在的,根据注解参数的个数,我们可以将注解分为:标记注解、单值注解、完整注解三类。它们都不会直接影响到程序的语义,只是作为注解(标识)存在,我们可以通过[反射机制]编程实现对这些元数据(用来描述数据的数据)的访问。
JDK本身有很多内置注解,像@Override
、@Deprecated
等等
自定义注解
当然我们也可以自定义注解,方式如下:
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface MyAnnotation {
}
其中:
-
@Target
:指定注解使用范围,即可标注具体的对象是谁。它的值在枚举ElementType
中定义,包括
// 用于类,接口,枚举但不能是注解
TYPE,
// 字段上,包括枚举值
FIELD,
// 方法,不包括构造方法
METHOD,
// 方法的参数
PARAMETER,
// 构造方法
CONSTRUCTOR,
// 本地变量或catch语句
LOCAL_VARIABLE,
// 注解类型(无数据)
ANNOTATION_TYPE,
// Java包
PACKAGE
-
@Retention
注解保持性策略,其可选项定义在RetentionPolicy
中,包括:
// 此类型会被编译器丢弃
SOURCE,
// 此类型注解会保留在class文件中,但JVM会忽略它
CLASS,
// 此类型注解会保留在class文件中,JVM会读取它
RUNTIME
Spring常用注解
声明Bean
声明Bean注解注入Bean
注入Bean注解 Spring常用注解参考
转载来源:https://www.jianshu.com/p/b8b823d75903
更多戳进官网:https://springframework.guru/spring-framework-annotations/