@SpringBootApplication注解
这是一个整合的注解,内容如下图
接下来分析里面的注解各个的作用:
@Target注解:当前这个注解在哪个地方起作用
TYPE 在Class上 interface上 enum上起作用
FIELD 在属性上起作用
METHOD 在方法上起作用
PARAMETER 在方法中的参数上起作用
@Retention注解:当前注解的一个范围
source 编译之前
class 运行之前
runtime 运行期间也可以
@Documented注解
在我们生成文档注释的时候,类上的注解也能被看到
@Inherited注解
如果添加此注解,当前定义的注解就可以被继承了
@SpringBootConfiguration注解
springboot的配置注解,在其中使用了@Configuration,表明此类是个配置类。
下图为@SpringBootConfiguration注解的内容:
@Configuration
在SpringBootConfiguration注解中被使用
添加上此注解的类就成为了配置类
配置类就是之前在spring配置文件中写配置一样
@EnableAutoConfiguration注解
让自动配置类起作用,在其中使用了@AutoConfigurationPackage和@Import注解
如下图是@EnableAutoConfiguration注解的内容:
@AutoConfigurationPackage注解
在EnableAutoConfiguration注解中被使用
让相关的自动配置类的注解起作用
在其中使用了@Import注解引入了Registrar.class,查找所有使用basePackages属性和 basePackageClasses属性的注解所在的类
@Import注解
在EnableAutoConfiguration注解中被使用
引入AutoConfigurationImportSelector.class,查找所有的可用的自动配置类
@ComponentScan 注解
起到扫描注解的作用