摘要:在介绍完Spring框架和Spring MVC框架的原理,并使用Maven搭建项目之后,本章将介绍Spring生态圈中非常重要的一个框架——Spring Boot。在Spring Boot没有出现之前,如果需要构建一个Web项目,通常将
在介绍完Spring框架和Spring MVC框架的原理,并使用Maven搭建项目之后,本章将介绍Spring生态圈中非常重要的一个框架——Spring Boot。在Spring Boot没有出现之前,如果需要构建一个Web项目,通常将
Struts+Spring+Hibernate框架(SSH)或者SpringMVC+Spring+MyBatis(SSM)框架作为基础项目,然后再添加若干个项目依赖和配置再开始业务代码的开发。这个过程非常繁琐、复杂,且没有多少技术含量,只是进行一些复制和粘贴的操作,属于重复劳动。
在传统的项目开发中如果要添加一个新的组件到项目中,首先需要添加组件依赖到pom.xml中,再新建组件的配置文件,最后把这个组件的配置文件整合到Spring中才能使用该组件。而Spring Boot的出现解决了这个复杂的问题,它能够快速完成项目的搭建,从而快速进行开发。它约定了一套项目开发规则来自动完成整个项目的配置,从而让开发人员能够简单地创建完项目就可以直接进入开发阶段,真正地做到了“开箱即用”,快速开发。
Spring Boot是由Pivotal团队提供的全新框架,其设计目的是简化基于Spring的企业级应用开发。Spring框架由于其繁琐的配置被开发人员吐槽,各种XML、annotation配置让人心神俱疲。而Spring Boot则更多采用javaConfig的配置方式,将开发人员从烦琐的配置中解放出来——创建项目时不再需要到处复制和粘贴各种配置文件,因此迅速成为企业级应用开发的领导者。
简单来总结一下,Spring Boot具有以下优点:
快速创建独立的Spring企业级应用;
能够使用内嵌的Tomcat、Jetty和Undertow,而不需要将项目打包成war部署到Tomcat上;
提供定制化的starter来简化依赖的引入;
自动提供默认配置的Spring;
提供生产环境的特征指标、健康检查和外部配置;零XML配置。
本节创建一个Spring Boot项目,详细步骤如下:
(1)创建Maven项目。使用IntelliJ IDEA创建一个空的Maven项目,设置groupId和artifactId分别为com.onyx和springboot-demo,项目名称也会自动变为springboot-demo。
(2)添加Spring Boot的父依赖。本书使用的Spring Boot版本为2.3.10.RELEASE,添加依赖的pom.xml代码如下:
org.springframework.boot
spring-boot-starter-parent
2.3.10.RELEASE
11
(3)新建包com.onyx.springbootdemo,在包下新建Spring Boot的启动类Springboot- DemoApplication,代码如下:
package com.onyx.springbootdemo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class SpringbootDemoApplication { public static void main(String args) {
SpringApplication.run(SpringbootDemoApplication.class, args);
}
}
注意,@SpringBootApplication标记本类是Spring Boot的启动类,执行这个类的main方法即可启动Spring Boot项目。
(4)新建包com.onyx.springbootdemo.controller,在包下新建HelloController类。此处添加一个Web访问的入口,请求URL为“/hi”,使用@GetMapping表示请求方式是GET,@RestController表示本类是一个控制器(Controller)的入口类,其作用相当于@Controller+ @ResponseBody,且返回JSON数据。HelloController代码如下:
package com.onyx.springbootdemo.controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class HelloController {
@GetMapping("/hi")
public String hi{
return "success";
}
}
在pom.xml中添加Spring Boot的Web项目依赖(对Spring MVC的支持):
org.springframework.boot
spring-boot-starter-web
spring-boot-maven-plugin
此时项目的目录结构如图2.1所示。
图2.1 Spring Boot项目的目录结构
(5)在IDEA中启动Spring Boot项目,即执行SpringbootDemoApplication中的main方法,就能成功启动项目。打开浏览器,访问地址localhost:8080/hi,得到的返回结果如图2.2所示。
图2.2 Spring Boot项目的访问结果
至此,第1个Spring Boot项目搭建完成,并实现了对“/hi”地址的访问,开发人员可以从此迈入业务代码的开发阶段。
来源:程序员高级码农II一点号