SpringBoot简介

61 阅读2分钟

官网 spring.io

SpringBoot是什么

  1. 对spring技术栈框架整合的一站式框架
  2. 简化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启动服务。

微服务引出分布式和云原生

微服务

分布式

image.png

云原生

image.png