SpringBoot
为什么要使用SpringBoot
SpringBoot对上述Spring的缺点进行的改善和优化,基于约定优于配置的思想,可以让开发人员不必在配置与逻辑业务之间进行思维的切换,全身心的投入到逻辑业务的代码编写中,从而大大提高了开发的
效率,一定程度上缩短了项目周期。
SpringBoot的特点
- 为基于Spring的开发提供更快的入门体验
- 开箱即用,没有代码生成,也无需XML配置。同时也可以修改默认值来满足特定的需求
- 提供了一些大型项目中常见的非功能性特性,如嵌入式服务器、安全、指标,健康检测、外部配置等
- SpringBoot不是对Spring功能上的增强,而是提供了一种快速使用Spring的方式
搭建SpringBoot项目
方式一:官网创建
访问 https://start.spring.io/ 创建,如下图所示:
点击 GENERATE 生成并下载项目压缩包。下载完成后解压 该项目文件,使用 IDEA 打开即可。
方式二:IDEA创建
方式一:普通Maven项目创建
本身SpringBoot就是一个Maven项目,以上工具的方式,只是生成了一些默认的内容,如以下项目结构为工具生成(我们自己手动创建文件夹即可):
以上部分,pom.xml根据需要的依赖包设置(需要我们自己导依赖的)
,其他自己手动生成也可以的,所以不用纠结非要使用工具。
需要注意的是,SpringBoot引入的是内嵌式服务器Tomcat9.0.39,该版本的Tomcat内嵌服务器,在启动时为了提高性能会加载本地库(需要下载该库文件),并且会使用 JDK9 以上版本的API,在启动就会报错(抛异常),虽然不影响使用,但是体验总归不太好。可以改用另一种服务器,Undertow,该 Web服务器是红帽公司(RedHat)采用 Java 开发的灵活的高性能 Web 服务器,它具有如下特性:
- 1.完全内嵌式的Web服务器,直接使用 API 就可以启动一个 Web 服务器。
- 2.完全兼容 Java EE Servlet 4 和低级非堵塞的处理器。
- 3.提供包括阻塞和基于 NIO 的非堵塞机制。
在高并发请求的系统中,从性能测试的对比数据上看,Undertow 比 Tomcat 在内存和性能的表现更优,目前很多使用 SpringBoot 的项目都将默认内嵌的 Tomcat 服务器更换为了 Undertow。
在SpringBoot中更换 Web 服务器非常方便,只需要调整 Maven 依赖,移除默认内嵌的 Tomcat 服务器,加入 Undertow 服务器即可,而使用上和 Tomcat 没什么不同。
pom.xml内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<!-- 默认使用的Spring Framework版本为5.2.10.RELEASE -->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.3.5.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>org.example</groupId>
<artifactId>springboot-study</artifactId>
<version>1.0