众所周知,Spring Boot的核心思想是"约定优于配置",但是这句话是什么意思呢?
先来说说Spring boot有哪些优点?
- 创建独立的Spring 应用程序
- 签入tomcat,jetty,undertow等传统服务契,使用maven(grandle)打包,无需部署war文件
- 允许通过maven来根据需要获取starter
- 尽可能地自动配置Spring
- 提供生产就绪功能,如指标,检查康检查和外部配置
- 没有附加代码和xml配置要求
为何有这些优点?
使用过ssm框架搭建过系统环境的同学都知道,中间的配置环节及其繁琐,而且很多配置其实都是千篇一律,于是Spring boot就将这些配置封装了起来,在启动时,尽可能的按照已经封装好的配置进行自动配置。打开maven 仓库下载的Spring boot 包就可以发现里面有一个Spring-boot-autoconfigure的文件夹
image.png
再使用winRAR解压里面的包
image.png
就可以发现里面存在着各种各样的配置类
image.png
image.png
如果我要自定义一些个性化的配置呢?
Spring boot也给我们留了一手
application.properties/yml
我们可以在application.propoties/yml中自定义自己想要的配置
image.png
还可以备份不同的生产环境下的配置,通过改写application.yaml中的active,来选择到底使用那个环境下的配置
image.png
搭建一个项目还有哪些事可能是共同都需要做的呢?
服务器的配置和部署
这就要说Spring boot强大的starter了
image.png
Spring boot充分的利用maven,自动配置依赖,比如如果在maven中引入spring-boot-starter-web,则maven会自动引入创建一个简单的web项目所需要的所有包,spring-boot-starter-tomcat亦是如此,这样开发者就不用再另外配置tomcat了。
从哪来到哪去,Spring boot同样使用maven进行打包部署,
image.png
总结:Spring boot是为简化开发,从Spring 演化而来,将开发中与业务无关中配置进行尽可能的自动化,约定化,减少开发者的手动配置,使用了大同便可固化,小不同可以个性化的思想(自己的理解,不喜勿喷),大大的加快了开发者的效率,正好适合当今将大系统拆分为小系统的微服务开发模式。
(以上皆为自己的理解,仍处于学习阶段,如有错误之处,或有改进之处,欢迎指出)