SpringBoot精简一(配置)
1.简化Spring应用开发的一个框架
2.整个Spring技术栈的一个整合
3.JavaEE一站式解决方案
优点:
微服务简介:
一个应用应该是一组小型服务;可以通过HTTP的方式进行互通
每一个功能元素最终都是一个可独立替换和独立升级的软件单元
@Response+@Controller=@RestController;
YAML语法:
配置文件占位符:
yml支持多文档块模式:
激活指定的profile:
配置文件的加载位置:
外部配置加载顺序:
自动配置原理:
总结
1@SpringBootApplication注解中包含了@EnableAutoConfiguration注解,该注解中引入了一个AutoConfigurationImportSelector类,
2.AutoConfigurationImportSelector类会去META-INF/spring.factories文件内将里面的内容封装在Map<String, List>格式的集合中,
3.然后取出key为EnableAutoConfiguration的value值,
4.这个value值内就是自动配置信息,即自动配置类的全路径,自动配置类其实就是加了@Configuration和@Bean的配置类,用这个配置类代替了原本的xml配置,并且这些配置类都进行了默认配置,即"约定大于配置",
5.有了自动配置类的全路径,spring就会找到这些配置类并加载到IOC容器中使配置生效。
**????*所以整个过程就是各种spring-boot-stater的依赖,它们的jar包内提供好了自动配置类(使用java配置类的方式替代了xml配置),
但是springboot并不知道这些配置类的位置,也就无法将它们加载到IOC容器中让它们的配置生效。
所以每次加入spring-boot-stater的依赖就会将它们配置类的路径记录在spring.factories文件中,springboot需要做的就是去spring.factories文件中拿到这些配置类的路径,并根据路径找到配置类将它们加载进入IOC容器中,让它们的默认配置生效。
@Conditional派生注解:
作用:必须是@condition指定的条件成立,才给容器添加组件,配置配里面的所有内容才生效;
本文地址:https://blog.csdn.net/satoshiCC/article/details/109669586