- Spring发展史
-
2003 Rod Johnson带领团队成立公司Interface Spring。 -
2004 公司改名为Spring Source。 -
2008 公司收购Tomcat, Apache Servlet, 内嵌应用服务器,整个生态掌握自己手里。 -
2009 被VMware公司收购,后VMware公司先后收购RabbitMQ、Redis等。 -
2013 VMware/EMC/GE联合成立Pivotal公司,SpringBoot/SpringCloud均由该公司发布。 -
2014 发布SpringBoot 1.0,基于Spring4.0。 -
2015 发布Spring Cloud。 -
2018 发布SpringBoot 2.0,基于Spring 5.0,上市。
- SpringBoot框架基本概念:
SpringBoot基于Spring框架开发,它并不是用来替代Spring的解决方案,而是和Spring框架紧密结合,进一步简化Spring应用的整个搭建和开发过程。通过提供默认配置等方式让我们更容易使用。遵循约定大于配置的思想,采用SpringBoot可以大大简化开发模式,它集成了大量常用的第三方库配置,所有你想集成的常用框架,它都有对应的组件支持,如Redis、MongoDB、Dubbo、kafka、ElasticSearch等。SpringBoot应用中这些第三方库几乎可以零配置地开箱即用,大部分的SpringBoot应用都只需要非常少量的配置代码,开发者能够更加专注于业务逻辑。另外SpringBoot通过集成大量的框架使得依赖包的版本冲突,及引用不稳定等问题得到了很好的解决。
谈谈你对SpringBoot自动配置的理解?自动配置是如何实现的? Spring Boot启动时通过@EnableAutoConfiguration注解加载配置文件META-INF/spring.factories,该配置文件中都是以AutoConfiguration结尾的自动配置类。但这些配置类不一定会生效,生效前要判断条件是否成立,只要导入了对应的starter,就有对应的启动器,有了启动器就能帮我们进行自动配置类。整个J2EE的整体解决方案和自动配置都在springboot-autoconfigure的jar包中(配置文件spring.factories就在该jar包)。
3. spring boot依赖关系
- 在spring-boot-starter-parent中定义了各种技术的版本信息,组合了一套最优搭配的技术版本。
- 在各种starter中,定义了完成该功能需要的坐标合集,其中大部分版本信息来自于父工程。
- 我们的工程继承parent,引入starter后,通过依赖传递,就可以简单方便获得需要的jar包,并且不会存在版本冲突等问题。
4.Springboot的配置文件两种类型:
- application.properties
- application.yaml (yml)
? 配置文件需要放置到resources目录下,并且以application命名,支持两种类型(properties,yaml(yml))
若存在多个配置项:springboot会加载所有的配置文件,重名配置的优先级:properties > yml > yaml
? SpringBoot是基于约定的,所以很多配置都有默认值,但如果想使用自己的配置替换默认配置的话,就可以使用application.properties或者application.yml(application.yaml)进行配置。
|