1. @SpringBootApplication
springboot主配置类,运行里面的main方法启动应用
2. @SpringBootConfiguration
标记一个类,表示这是一个springboot配置类
3. @EnableAutoConfiguration
开启自动装配
自动配置真正实现是从classpath中搜寻所有的META-INF/spring.factories配置文件 ,并将其中对应的 org.springframework.boot.autoconfigure. 包下的配置项,通过反射实例化为对应标注了 @Configuration的JavaConfig形式的IOC容器配置类 , 然后将这些都汇总成为一个实例并加载到IOC容器中。
4.@ComponentScan
扫描符合条件的组件和bean,将这个bean定义加载到IOC容器中
5.@AutoConfigurationPackage
自动配置包
6.@Import
给容器导入组件
Registrar.class 作用:将主启动类的所在包及包下面所有子包里面的所有组件扫描到Spring容器 ;
7.Configuration
表示一个配置类 配置类就是对应Spring的xml 配置文件,和以前编写的配置文件一样,也可以给容器中添加组件;
8.@Component
表示一个组件
9.@ConfigurationProperties
批量注入配置文件中的属性
10.@Value
将配置文件yml里的值注入到bean里
用法: @Value("{属性名称}")
11.@Bean
@Bean是一个方法级别上的注解,主要用在@Configuration注解的类里,也可以用在@Component注解的类里。添加的bean的id为方法名
12.@EnableConfigurationProperties
启动指定类的ConfigurationProperties功能
例:@EnableConfigurationProperties({HttpProperties.class})
进入这个HttpProperties查看,将配置文件中对应的值和HttpProperties绑定起来;
并把HttpProperties加入到ioc容器中
13.@Conditional
spring底层注解//根据不同的条件判断,如果满足指定的条件,整个配置类里面的配置就会生效;
例:① @ConditionalOnWebApplication( type = Type.SERVLET)
这里的意思就是判断当前应用是否是web应用,如果是,当前配置类生效
②@ConditionalOnClass({CharacterEncodingFilter.class})
判断当前项目有没有这个类CharacterEncodingFilter;SpringMVC中进行乱码解决的过滤器;
③@ConditionalOnProperty(prefix = “spring.http.encoding”, value = {“enabled”},matchIfMissing = true)
判断配置文件中是否存在某个配置:spring.http.encoding.enabled;
如果不存在,判断也是成立的
即使我们配置文件中不配置pring.http.encoding.enabled=true,也是默认生效的;