官网 spring.io
SpringBoot是什么
- 对spring技术栈框架整合的一站式框架
- 简化spring技术栈 主要是解决:添加复杂依赖、配置量大、提供生产级的监控、配置及监控无代码和xml生成
- 依赖简化:例如要用Spring MVC,原来需要引用很多依赖,现在只需要引用一个依赖spring-boot-starter-web,而且不需要确定版本与版本之间的兼容性(由父依赖确定)。如果要手动指定例如mysql,在properties下增加mysql.version的版本值就可以了
- 配置简化:原来Spring MVC、Tomcat等的配置都在各自的配置文件里,现在只要在application.properties里配置所有配置(也可以使用ymal文件),参见Application Properties
- 自集成一些组件的配置
- 为自己写的类配置:在自己写的类前加 @Component 和 @ConfigerationProperties(prefix="配置中的前缀(以点分隔)")
- 为第三方类配置:1、在引用第三方类加 @EnableConfigerationProperties(ClassA.class) ,前提第三方类包含 @ConfigerationProperties(prefix="") 2、使用@Bean + 为自己写的类配置的方法?不确定
- 插件简化代码:
- 通过添加lombok依赖+注解省掉get/set方法、构造器、toString等体力活代码,类代码也更清晰
- 通过添加Sfl4j依赖,可直接用Log.info等输出日志,省掉初始化单例等代码,比System.out更简洁
- Spring Initializr 向导式创建工程,半自动引入依赖,自动创建标准目录、Application入口类及properties配置文件
- 添加依赖spring-boot-configeration-processor可以在开发时修改yaml文件有类成员的提示
- 测试简化:
- 直接运行main方法
- dev-tools功能之一修改后重新编译,环境自动重启服务,省去手动重启,之二国际化
- 部署简化:原来要部署Tomcat+打包成war包,现在使用spring-boot-maven-plugin直接将Web打包为jar且内置Tomcat,可直接在服务器上执行java -jar xxx.jar启动服务。
微服务引出分布式和云原生