spring中有很多的适配器,适配器作用是当想要实现一个接口的时候,不需要再实现该接口的所有方法, 因为适配器中已经有了所有的空方法, 那么在再次实现时,只需要重写适配器中需要重写的方法即可。
一、SpringBoot的优点
1.创建独立的spring应用
2.内嵌web服务器
3.自动starter依赖,简化构建配置
4.自动配置Spring以及第三方功能
5.提供生产级别的监控、健康检查及外部化配置
6.无代码生成、无需编写XML
二、HelloWorld
1.@RestController 是 @ResponseBody + @Controller 的合写。
在Controller层中如果想直接给浏览器返回字符串需要加 @ResponseBody 这个注解。
2. 可以通过 application.properties 来更改springBoot的配置信息
3.springboot有默认的包扫描路径,是跟application主类同包或子包等级都能自动扫描到,如果要配置自定义的扫描位置,在@SpringBootApplication的scanBasePackages 的属性下指定。
三、@Configuration注解
告诉Springboot这是一个配置类,在其中声明方法并加上@Bean注解,即可将需要的类注册到容器中,并赋值。
组件依赖:在SpringBoot2中 @Configuration注解涉及一个proxyBeanMethods属性,true代表SpringBoot总会检查这个组件是否在容器中,false代表每一次拿这个对象都是new一个新的对象出来。
Full模式与Lite模式:配置类组件之间无依赖关系用Lite模式加速容器启动,减少判断(即把proxyBeanMethods设置为false。如有依赖关系则设置为Full,每次都会从容器中判断是否有该组件,得到之前的单实例组件。
四、@Import注解
给容器中导入组件(字符串组)。
五、@Conditional
条件装配:满足Conditional指定的条件,则进行组件注入
@ConditionalOnBean(name = "tom") // 加在类、方法等
六、@ImportResource 原生配置文件引入
通过指定路径可以将在xml文件中的bean对象配置引入到容器中。
七、@ConfigurationProperties 绑定配置
可以通过该注解的prefix属性指定前缀名称。在application.properties 文件中用指定的前缀+.属性名,即可在properties配置文件中读取指定信息。
ps:只有在容器中的组件才会拥有SpringBoot的功能。
八、@EnableConfigurationProperties 开启配置属性性能
加在Config类上,通过指定的类对象来完成赋值(会把指定的类对象注册到容器中)。
九、@SpringBootApplication
@SpringBootApplication = @SpringBootConfiguration + @EnableAutoConfiguration + @ComponentScan
1.@EnableAutoConfiguration = @AutoConfigurationPackage + @Import(AutoConfigurationImportSelector.class)
1).@AutoConfigurationPackage 自动配置包
将指定的一个包下的所有组件导入进来,标记在MainApplication的话,就导MainApplication所在包下。
2).@Import(AutoConfigurationImportSelector.class)
springBoot 先加载所有的自动配置类,再根据每个自动配置类的条件进行注册。并且默认会绑定配置文件指定的值,从xxxProperties.class 获取。