该篇为Spring Boot入门到实战系列入门篇的第一篇。对Spring Boot做一个大致的介绍。
传统的基于Spring的Java Web应用,需要配置web.xml
, applicationContext.xml等大量xml配置信息
,然后将应用打成war包放入web应用服务器(如Tomcat, Jetty等)中运行。有过实践经验的开发者应能体会到这个过程繁杂且重复。Spring Boot将这种繁杂且重复的工作通过自动化配置等手段实现,从而将开发者从复杂的配置工作中解放出来,能够更专注于业务逻辑的开发。因此,Spring Boot并不是Spring的替代解决方案,它本身并不提供Spring框架的核心特性以及扩展功能,而是和Spring框架紧密结合用于提升Spring开发者体验,提高开发效率的的工具框架。
Spring Boot框架大致包括如下特性:
- 自动化配置。比如如果需要访问数据库,则只需要引入相应的starter依赖包,Spring Boot便会自动为你配置访问数据库所需要的Bean,如 DataSource, JdbcTemplate等。
- 内嵌的Web服务容器。Spring Boot内嵌了Tomcat、Jetty、Undertow。因此,Spring Boot应用可以像普通java应用一样打成jar包直接通过java -jar执行,而不需传统web应用一样需要打成war包部署到独立的web服务容器中。
- 简化依赖管理。Spring Boot提供了大量的starter依赖包,帮你管理了使用某个功能所需要的依赖,开发者只需要引入starter依赖,即可使用对应的功能。如spring-boot-starter-web,spring-boot-starter-jdbc等。
- 提供生产环境应用配置、度量指标、操作控制接口。Spring Boot的spring-boot-starter-actuator提供了查看应用配置信息,获取应用运行指标,以及控制应用(如关闭应用)三种类型的接口。通过这些接口,可以排查问题,监控服务运行情况等。
Spring Boot的这些特性,使得应用Spring Boot开发Web应用非常便捷、高效,因此在快速应用开发(Rapid Application Development)领域以及微服务架构方面,Spring Boot都是比较好的选择。
下一节介绍如何创建Spring Boot应用:Sping Boot入门到实战之入门篇(二):第一个Spring Boot应用