1. 概述
SpingBoot是一个为了简化Spring应用开发而设计的轻量级框架,通过简化Spring应用程序的创建和部署过程,使得开发者可以快速搭建和部署Spring应用程序,同时保持Spring框架的灵活性和强大的功能,通过集成了大量框架解决依赖包版本冲突和引用不稳定问题(通过付工程来指定依赖版本)
2. 特点
-
快速创建基于 Spring 的应用程序: Spring Boot 旨在简化 Spring 应用的初始搭建和开发过程。它通过自动配置和起步依赖,使得创建一个可运行的 Spring 应用变得非常快捷。
-
Maven 和 Gradle 插件: Spring Boot 提供了 Maven 和 Gradle 的插件,这些插件支持创建可执行的 JAR 和 WAR 文件。这使得部署变得非常简单,因为应用程序及其所有依赖都被打包在一个单一的文件中。
-
内嵌 Servlet 容器: Spring Boot 内嵌了如 Tomcat 或 Jetty 这样的 Servlet 容器,这意味着你不需要单独部署 WAR 文件到外部的 Servlet 容器中,可以直接运行 JAR 文件。
-
自动配置机制: 自动配置是 Spring Boot 的核心特性之一,它根据添加的依赖自动配置 Spring 应用。这大大减少了传统 Spring 应用中需要的大量 XML 配置。
-
集成多种第三方库: Spring Boot 通过起步依赖集成了多种第三方库,并且指定了这些库的版本,从而解决了依赖包版本冲突的问题。
-
关注业务逻辑: 由于 Spring Boot 减少了配置的复杂性,开发者可以更加专注于编写业务逻辑代码,而不是配置。
-
提供准备好的特性: Spring Boot Actuator 提供了应用程序的监控和管理特性,如指标、健康检查和外部化配置。
-
注解配置: Spring Boot 推崇使用注解来进行配置,而不是 XML 配置文件。这使得代码更加简洁,易于理解和维护。
-
起步依赖简化 Maven 配置 : 起步依赖(Starters)是 Spring Boot 提供的一组预定义的依赖描述符,它们定义了对其他库的传递依赖。通过在 Maven 的
pom.xml
文件中引入一个起步依赖,可以简化构建配置,确保依赖的一致性。
3. 快速开始
2.1 创建方式一
使用官网GUI配置,选择对应依赖,下载生成的代码
-
SNAPSHOT:快照版,也就是开发版
M: 里程碑版本,表示该版本较之前版本有功能上的重大更新
Release:最终版本
-
点击
GENERATE
按钮,生成项目框架文件,解压后,就得到了一个SpringBoot项目文件
3.2 创建方式二
直接在IDEA中创建SpringBoot项目
-
打开IDEA,新建项目,选择
Spring Initializr
-
填写项目基本信息
-
勾选web选项中的SpringWEB
-
确认信息无误后,点击完成即可新建一个SpringBoot项目
-
SpringBoot项目创建完成
-
开发Controller
@RestController public class HelloController { @GetMapping("/hello") public String hello() { return "Hello SpringBoot!!!"; } }
-
访问结果
3.3 项目目录结构
-
SpringbootDemoApplication
Spring Boot项目的启动类
-
application.properties
Spring Boot项目的配置文件 ,文件名字必须叫application,文件类型也可以是yml
-
pom.xml
打开一个新建的SpringBoot项目后,可以在pom文件中看见如下配置:
与之前创建的Maven项目不同的是,在SpringBoot项目的pom文件中,多了一个父工程的配置信息,
由此看出,每个SpringBoot项目都会依赖一个父工程 ,这个父工程就是:
spring-boot-starter-parent
。我们可以进入到依赖的父工程的pom文件中,看到如下配置:
在观察这个父工程的pom文件中发现,这个配置文件依旧依赖了另一个父工程,另一个父工程是:
spring-boot-dependencies
。我们再次进入到另一个父工程的pom文件中,看到如下配置:
配置文件中整体分为三大类:当前项目信息、依赖管理信息、构建管理信息。
pom中包含创建项目时选择的依赖,Spring Boot项目默认继承于
spring-boot-starter-parent
,而
spring-boot-starter-parent
继承于spring-boot-dependencies
,spring-boot-dependencies
中主要是确定市面常用技术的版本,从而使子项目不需要考虑各个框架间的版本兼容问题。Spring Boot的依赖通常为两种格式:
-
spring-boot-starter-xxx
Spring Boot官方提供的依赖,无缝兼容,配置简单
-
xxx- spring-boot-starter
由框架/技术团队提供的依赖,适配Spring Boot新版本相对较慢,使用时需要关注兼容性。
-