一、Spring Boot 简介
Spring 作为 一个轻量级的容器,在 Java EE 开发中得到了广泛的应用,但是 Spring 的配置烦琐、臃肿,在和各种第三方框架进行整合时代码量都非常大,并且整合的代码大多是重复的,为了便开发者能够快速上手 Spring,利用 Spring 框架快速搭建 Java EE 项目, Spring Boot 应运而生。Spring Boot 带来了全新的自动化配置解决方案,使用 Spring Boot 可以快速创建基于 Spring 生 产级的独立应用程序 。 Spring Boot 中对一些常用的第三方库提供了默认的 自动化配置方案,使得 开发者只需要很少的 Spring 配置就能运行一个完整的 Java EE 应用。 Spring Boot 项目可以采用传 统的方案打成 war 包,然后部署到 Tomcat 中运行。也可以直接打成可执行 jar 包,这样通过java -jar
命令就可以启动一个 Spring Boot 项目 。总体来说, Spring Boot 主要有如下优势 :
- 提供一个快速的 Spring 项目搭建渠道。
- 开箱即用 ,很少的 Spring 配置就能运行一个 Java EE 项目 。
- 提供了生产级的服务监控方案。
- 内嵌服务器,可以快速部署。
- 提供了一系列非功能性的通用配置。
- 纯 Java 配置,没有代码生成,也不需要XML配置。
二、开发第一个 Spring Boot 程序
2.1 创建 Maven 工程
2.2 项目构建
2.2.1 添加依赖
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring‐boot‐starter‐parent</artifactId>
<version>2.3.5.RELAEASE</version>
</parent>
spring-boot-starter-parent 是一个特殊的 Starter , 提供了一些 Maven 的默认配置 ,同时还提供了 dependency-management,可以便开发者在 引入其他依赖时不必输入版本号,方便依赖管理。 Spring Boot 中提供的 Starter 非常多 ,这些 Starter 主要为第三方库提供自动配置,例如要开发一个 Web 项目,就可以先引入一个 Web 的 Starter,代码如下:
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring‐boot‐starter‐web</artifactId>
</dependency>
</dependencies>
2.2.2 编写启动类
接下来创建项目的入口类,在 Maven 工程的 java 目录下创建项目的包,包里创建一个 App 类 ,代码如下:
@EnableAutoConfiguration
public class HelloWorldApplication {
public static void main(String[] args) {
// Spring应用启动起来
SpringApplication.run(HelloWorldApplication.class, args);
}
}
代码解释:
- @EnableAutoConfiguration 注解表示开启自动化配直 。 由于项目中添加了
spring-boot-starterweb 依赖 , 因此在开启了自动化配置之后会自动进行 Spring 和 SpringMVC的配置。 - 在 Java 项目的 main 方法中,通过 SpringApplication 中的 main方法启动项目 。 第一个参数传入HelloWorldApplication.class ,告诉 Spring 哪个是主要组件。第二个参数是运行时输入的其他参数。
编写相关的controller、service…
@RestController
public class HelloController {
@GetMapping("/hello")
public String hello() {
return "Hello World!";
}
}
在控制器中提供了一个“ /hello”接口,此时需要配置包扫描才能将 HelloController 注册到Spring MVC 容器中,因此在 HelloWorldApplication 类上面再添加一个注解@ComponentScan
进行包扫描。
也可以直接使用组合注解@SpringBootApplication
来代替@EnableAutoConfiguration
和
@ComponentScan
。
2.3 项目启动
2.3.1 使用maven命令启动
可以直接使用 mvn 命令mvn springboot:run
启动项目
2.3.2 运行main方法启动
2.3.3 打包启动
当然, Spring Boot 应用 也可以直接打成 jar 包运行 。在生产环境中 ,也可以通过这样的方式来运行一个 Spring Boot 应用。要将 Spring Boot 打成 jar 包运行,首先需要添加一个 plugin 到 pom.xml文件中,代码如下 :
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
然后运行 mvn 命令mvn package
进行打包,打包完成后,在项目的 target 目录下会生成一个 jar 文件,通过java -jar
命令直接启动这个 jar文件。
启动成功后,在浏览器地址栏输入“localhost:8080/hello ”即可看到运行结果