今天被问到关于@SpringBootApplication这个注解包含哪些注解?当时面试的时候一时间忘记是怎么一回事了。当时真就把自己问住了。记得以前是看过的,但是很久没看就忘记,只是简单的回答上了一点点而已。
所以今天趁着摸鱼的时间在网上找到关于这方面的东西,打算自己赶紧整理一下。下次不能被这么简单的问题搞得迷了。
/**
* @SpringBootApplication组合注解包含以下注解:
*
* @Target(ElementType.TYPE) :用于描述注解的使用范围
* @Retention(RetentionPolicy.RUNTIME) :保留,指定保留时间,三个枚举,分别为source,class,runtime
* @Documented:可被javadoc等工具记录,注解类型信息会保存到生成的文档中
* @Inherited:个人认为是一个成员变量,父类被子类覆盖之后无法继承,子类中可以继承父类中未被覆盖的父类注解的值
* @SpringBootConfiguration:包含@Target(ElementType.TYPE)
* @Retention(RetentionPolicy.RUNTIME) :同上述
* @Documented:同上述
* @Configuration:用于配置,包含以下注解
* @Target(ElementType.TYPE) :同上述
* @Retention(RetentionPolicy.RUNTIME) :同上述
* @Documented :同上述
* @Component:spring内置组件注解,用途是让spring容器扫描
* @EnableAutoConfiguration:开启自动配置,包含以下注解
* @Target(ElementType.TYPE):同上述
* @Retention(RetentionPolicy.RUNTIME):同上述
* @Documented:同上述
* @Inherited:同上述
* @AutoConfigurationPackage:自动配置包含注解的类
* @Import(AutoConfigurationImportSelector.class)
* @ComponentScan:开启包扫描,默认扫描同级及当前包下内容,包含以下注解
* @Retention(RetentionPolicy.RUNTIME)
* @Target(ElementType.TYPE):同上述
* @Documented:同上述
* @Repeatable(ComponentScans.class):允许在同一申明类型(类,属性,或方法)的多次使用同一个注解
*/
@SpringBootApplication