Spring Boot 基础介绍
众所周知,Spring Boot 是由 Pivotal 团队提供的全新框架,并于 2014 年 4 月发布第一个版本,其设计目的是用来简化 Spring 应用的搭建,以及开发过程。Spring Boot 有以下特点:
-
Spring Boot 通过简单的步骤就可以创建一个 Spring 应用。
-
Spring Boot 为 Spring 整合第三方框架提供了开箱即用功能。
-
Spring Boot 的核心思想是约定大于配置。
使用 Spring Boot 可以大大简化开发模式,提高开发效率。我对 Spring Boot 的评价就一句话:Java 开发者的福音。
Spring Boot 解决的问题
在没接触 Spring Boot 之前,使用 Spring 进行开发时,经常会遇到以下问题。
-
搭建后端框架时需要手动添加框架的 Maven 配置,会涉及很多 XML 配置文件,增加了搭建项目框架的难度和时间成本。
-
无论是本地调试还是线上部署,都需要首先安装 Tomcat,然后将项目编译成 war 包,部署到 Tomcat 中,这样非常不方便。
-
应用监控做的比较简单,通常都是通过一个没有任何逻辑的接口来判断应用的存活状态。
Spring Boot 亮点
随着 Spring Boot 的出现,轻松解决了上面的这些问题,我们下面来看看为什么 Spring Boot 可以解决这些问题。
主要是因为 Spring Boot 的 4 个亮点,分别是自动装配、内嵌容器、应用监控、Starter 包简化框架集成难度。
-
自动装配:Spring Boot 会根据某些规则对所有配置的 Bean 进行初始化。可以减少了很多重复性的工作。比如使用 MongoDB 时,只需要在 pom.xml 中加入 MongoDB 的 Starter 包,然后配置 MongoDB 的连接信息,就可以直接使用 MongoTemplate 自动装配来操作数据库了。
-
内嵌容器:Spring Boot 应用程序可以不用部署到外部容器中,比如 Tomcat。Spring Boot 应用程序可以直接通过 Maven 命令编译成可执行的 jar 包,通过 java-jar 命令启动即可,非常方便。
-
应用监控:Spring Boot 中自带监控功能 Actuator,可以实现对程序内部运行情况进行监控,比如 Bean 加载情况、环境变量、日志信息、线程信息等。当然也可以自定义跟业务相关的监控,通过Actuator 的端点信息进行暴露。
-
Starter 包简化框架集成难度:将 Bean 的自动装配逻辑封装在 Starter 包内部,同时也简化了 Maven Jar 包的依赖,对框架的集成只需要加入一个 Starter 包的配置,降低了烦琐配置的出错几率。
Spring Boot 常用 Starter 包
Spring Boot 的 Starter 包有很多,几乎覆盖了 Java 领域的大部分框架,这里列举几个常用的 Starter 包。
-
spring-boot-starter-web:用于快速构建基于 Spring MVC 的 Web 项目。
-
spring-boot-starter-data-redis:用于快速整合并操作 Redis。
-
spring-boot-starter-data-mongodb:用于对 MongoDB 的集成。
-
spring-boot-starter-data-jpa:用于操作 MySQL。
-
spring-boot-starter-activemq:用于操作 ActiveMQ。
除了这些比较常用的 Starter 包之外,还有很多是你在工作中需要使用的,参考官方文档查询。