本篇只是 Spring Boot 入门知识梳理,具体入门应用实践会另起一篇。
Spring Boot 如其名称所示,依然是 Spring 的一类框架。它在保持原有 Spring framework 特征(IoC、AOP等)的基础上,做到了
- 更容易构建独立的、产品级的Spring应用。
- 基于现有的 Spring 平台和第三方库,使开发者对于改变的感知最小化。
- 极大地简化 Spring 配置(几乎很少需要配置文件)
- 基于 Spring Boot 的 Java 应用可以直接通过打包成jar或通过war部署运行。
- 同时提供命令行开发工具Spring Boot CLI,使得熟悉命令行的开发者可以更快的完成项目构建。
Spring Boot 目标
Spring Boot 的出现,是为了实现以下目标:
- 为 Spring 入门开发者从根本上提供更快、更广泛的开发体验。
- 可以直接从默认配置快速开始项目构建,并逐步向需求过度。即做到“开箱即用”。
- 不需要代码生成,也不需要XML配置。
Spring Boot 开发环境需求
想要应用Spring Boot,对于环境也是有一定的要求的:
- 基础的框架依赖于Java 7、spring-framework-4.3.5或以上版本。
- 官方推荐使用Java 8。
- 在项目自动化构建工具方面,推荐使用Maven或Gradle。
Servlet 容器
Spring Boot 框架内嵌了三种 Servlet 容器:
- Tomcat 支持7、8版本
- Jetty 支持8、9.2、9.3版本
- Undertow 支持1.3版本
做到框架内嵌Servlet容器,是做到自动化完成Web Application配置的基础。这样就无需再对Servlet容器进行配置以部署Spring Boot。
另外,如果有需要,可将基于Spring Boot的Web应用部署到任何兼容Servlet 3.0以上的容器中。
Spring Boot 引入项目
要想使用Spring Boot,需要引入合适的spring-boot-*.jar,在引入了相应的JAR包后,就可以像使用Java Library一样使用Spring Boot。(这个意思是,如果你愿意,引入合适的包后,甚至可以用记事本开发Spring Boot 项目)

在 Gradle 下使用Spring Boot
作为便利的项目自动化构建工具,Gradle 的功能离不开其依赖的插件。而 Spring Boot 也为 Gradle 提供了相应的插件——spring-boot-gradle-plugin。该插件可以帮助开发者做到
- 将 Spring Boot 应用打包、部署
- 运行Spring Boot 应用
- 使用Spring Boot项目依赖管理

总而言之,在Gradle下使用Spring Boot 就需要在 Gradle 中引入插件,而该插件就能帮助开发者更加便利地管理Spring Boot项目。
Spring Boot 自动配置
Spring Boot 会依据引入的项目依赖,按照通常的习惯(约定)去自动完成相关的配置。
例如,引入了 spring-boot-start-web 依赖,Spring Boot就会按照配置Web Application的默认形式去自动完成曾经需要手动完成的相关配置。
这样做的好处就是开发只需关注项目需要的依赖,而不是花精力在如何配置这些依赖上。而这样一来,项目就可以快速在默认情况下运行起来,之后在根据需求去修改配置就OK。
Main 方法
Spring Boot 保留了和普通 Java 应用一样的 main 方法,作为应用的入口。
但 Spring Boot 的 main 方法会委托给 SpringApplication 类的 run 方法去完成。

该方法需要当前类的.class作为参数传入,来告诉 Spring Boot 如何获取主要的组件。args参数可以用来传入命令行输入的指令。
@SpringBootApplication 注解取代了以往的@Configuration、@EnableAutoConfiguration和@ComponentScan。因为该注解的功能等价于这三个注解。所以一般而言,使用这一个注解就足够了。
至此,可以对 Spring Boot 建立初步了解。
网友评论