SpringBoot优点
- 不需要编写XML配置文件
- 依赖管理,SpringBoot所依赖的组件的版本不需要自己去维护
- 自动配置,将需要的组件自动注入到Spring容器中
SpringBootApplication注解
@SpringBootApplication 该注解是一个合成注解,
- @SpringBootConfiguration: 标注当前类是配置类,等价于XML配置文件;
该注解底层使用了@Configuratuion- @ComponentScan: 标注默认扫描当前类所在的包以及当前包下的所有子包上的注解
- @EnableAutoConfiguration 标注开启自动配置
该注解底层使用了@Import,@AutoConfigurationPackage
介绍@EnableAutoConfiguration注解
- @AutoConfigurationPackage 该注解底层使用了@Import注解向容器注入了一个AutoConfigurationPackages.Registrar类;该类内部向容器中批量导入主启动类所在的包及其子包中的组件(不包含我们应用人员自己写的组件,比如Controller,Service等组件)
- @Import注解向容器注入了一个AutoConfigurationImportSelector类,该类内部会向容器中批量注入"META-INF/spring.factories"外部文件中复合要求的组件
常用注解
@Configuration
:注册配置类。@SpringBootConfiguration
作用一样,它底层用的也是@Configuration
@Bean
:在配置类中使用,返回的bean默认名称是方法名。可以组合@Scope
修改成多例。
@Import
:与@Configuration
搭配使用,导入第三方类。bean名称默认是全路径名。
@ConfigurationProperties
:将配置文件中的字段与类中的字段绑定。标注的类必须为bean。
@EnableConfigurationProperties
:这个注解也是做字段映射的。一般用于第三方类的属性绑定。
@ConditionalOnXxx
:条件注解,条件满足才执行。可作用在方法或类上。
举例:
yml中写法
最牛逼的讲解连接
https://cloud.tencent.com/developer/article/2204956