spring 常用注解一

@configuration 自动加载spring容器 +@bean 自动注入bean
@scope 作用域
@lazy (true) 表示延迟初始化
@service 用于标注业务层组件
@controller 用于标注控制层组件
@respository 用于标注数据访问组件 dao层组件
@component 泛指组件,当组件不好归类的时候,我们可以用这个注解进行标注
@postConstruct 用于指定初始化方法上
@preDestory用于指定销毁方法上
@resource默认按照名称装配,当找不到与名称匹配的bean时才会按照类型进行标注
@dependOn:定义bean初始化及销毁的顺序
@primary 自动装配时当出现多个bean候选者时,被注解为@primary的bean将作为首选者,否则将抛出异常
@Autowired 默认按照类型装配如果我们想使用按名称装配,可以结合@Qualifier注解一起使用
@Autowired @Qualifier(“personDaoBean”) 存在多个实例配合使用

在springboot启动项目时,有的需要执行特定的动作,可以利用CommandLineRunner。实现了CommandLineRunner接口的Component会在所有Spring Beans都初始化之后,SpringApplication.run()之前执行,非常适合在应用程序启动之初进行一些数据初始化的工作。

Serializable 序列化 实现这个接口

@ Retention
@Retention 注解
功能:指明修饰的注解的生存周期,即会保留到哪个阶段

RetentionPolicy的取值范围包含以下三种:
SOURCE:源码级别保留,编译后即丢弃
class:编译级别保留,编译后class文件中存在,在jvm运行时丢弃,这是默认值
runtime:运行级别的保留,编译后的class文件中存在,在jvm运行时保留,可以被反射调用.

明确生命周期长度 SOURCE < CLASS < RUNTIME ,所以前者能作用的地方后者一定也能作用。

@Target 注解
功能:指明了修饰了这个注解的使用范围,即被描述的注解可以使用在哪里.
@Retention(RetentionPolicy.RUNTIME)
@Target(value={ElementType.METHOD,ElementType.TYPE})
public @interface IgnoreClientToken {
}

ElementType的取值包含以下几种:

TYPE:类,接口或者枚举
FIELD:域,包含枚举常量
METHOD:方法
PARAMETER:参数
CONSTRUCTOR:构造方法
LOCAL-VARIABLE:局部变量
ANNOTATION_TYPE:注解类型
PACKAGE:包

@Documented 注解
功能:指明修饰的注解,可以被列如javadoc此类的工具文档化,只负责标记,没有成员取值.
@Inherited注解
功能:允许子类继承父类中的注解。
@interface意思是声明一个注解,方法名对应参数名,返回值类型对应参数类型。

@ AutoConfigureBefore 自动注入在XX类加载之前.
@ ConditionalOnClass XX类存在的时候,进行加载
@EnableScheduling 开启定时任务的注解
@Scheduled 编写定时任务

你可能感兴趣的:(java)