一. Spring Boot 是什么
从根本上来说spring boot 就是一个普通的spring工程,只是正好用到spring boot的起步依赖和自动配置而已。Spring boot没有引入任何形式的代码生成,它只是利用了spring4的条件化配置特性和maven,gradle的传递依赖解析,来实现上下文环境里的自动化配置。有了spring boot 你可以从spring复杂的样板化配置中解脱出来,专注于应用的逻辑。
二. Spring Boot 精要
(1) 自动化配置
Spring boot 会为常见的配置场景进行自动化配置。
例如:spring boot 在工程的classpath下面发现了H2数据库,会为你自动注入一个嵌入式的H2数据库,如果发现了JdbcTemplate的库,会自动为你配置一个JdbcTemplate。还会自动将H2的bean,注入到JdbcTemplate中。这些都是自动完成的。
(2)起步依赖
Spring boot 通过起步依赖为项目的依赖管理 提供帮助,起步依赖就是特殊的Maven或Gradle依赖,通过依赖传递解析,把一些常用功能的库聚合到一起。
例如:你正用spring MVC 做一个Restful API,并用JSON作为资源表述,并想运用遵循JSR-303规范的 作为参数校验
(3)命令行界面
Spring Boot Cli 利用起步依赖和自动化配置,让你仅仅 编写应用程序逻辑代码就能让程序跑起来。
(4)actuator
acturator 提供了监视应用程序内部情况的能力,包括以下细节:
1. spring 应用程序上下文中配置的bean
2. springboot自动化配置做出的决策
3. 应用程序取到的系统环境变量,系统属性,环境属性和命令行参数
4. 应用程序中当前的线程状态
5. 应用程序处理的http请求
6. 各种和内存用量,垃圾回收,http请求,数据源相关的用量
actuator通过web界面和shell命令两种方式提供服务