@SpringBootApplication注解是一个组合注解,包含如下注解java
- @Target(ElementType.TYPE)
- 注解的做用目标
- @Retention(RetentionPolicy.RUNTIME)
- Reteniton的做用是定义被它所注解的注解保留多久,一共有三种策略
- SOURCE:被编译器忽略
- CLASS:注解将会被保留在Class文件中,但在运行时并不会被VM保留。这是默认行为,全部没有用Retention注解的注解,都会采用这种策略
- RUNTIME:保留至运行时。因此咱们能够经过反射去获取注解信息。
- @Documented
- 默认状况下,javadoc是不包括注解的. 但若是声明注解时指定了 @Documented,则它会被 javadoc 之类的工具处理, 因此注解类型信息也会被包括在生成的文档中
- @Inherited
- 标记注解是能够被继承的
- @Configuration
- @EnableAutoConfiguration
- 根据jar包依赖为当前项目进行自动配置,例如添加了spring-boot-starter-web依赖,会自动添加tomcat,spring MVC 的依赖,那么Spring Boot会对Tomcat和spring MVC 进行自动配置
- @ComponentScan
- 主要就是定义扫描的路径从中找出标识了须要装配的类自动装配到spring的bean容器中