Spring Boot 简介
首先,让我们来看一下在没有 Spring Boot 的时候,开发一个 Java 程序有多么繁杂。
以开发一个简单的 Hello world
程序开始吧。你要做的事情有:
- 确定技术选型(Spring, Spring mvc)
- 创建 maven 项目,添加依赖项
- 创建相关配置文件
web.xml
applicationContext.xml
dispatcher-servlet.xml
- ...
- 编码实现
hello world
- 编写
JSP
- 将项目打成
War
包 - 下载和配置
Tomcat
服务器,并将War
包部署到Tomcat
下 - 运行
Tomcat
在以上的步骤中,你可能会遇到:
-
ClassNotFoundException
:没有添加相关依赖 -
NoClassDefFoundError
:可能是添加的依赖项有冲突 - 服务无法启动:配置文件编写错误或是其它原因
这只是一个最简单的 Hello world
项目,却要编写 N 多的配置项,同时还要注意引入依赖项的兼容性问题,这就导致了我们在开发时需要很大的精力去维护这些与业务无关的东西, 使用Spring Boot
就可以让我们避免以上的这些问题,让开发者把时间花在具体业务逻辑的编写上。
开发第一个 Spring Boot 应用
Spring Boot
官方提供了一个在线工具,可以让我们快速生成开发脚手架:在线工具
点击上面的链接之后,我们可以看到以下的画面:
image这里可以选择构建工具、语言以及 Spring Boot
的版本号,因为我们的项目是基于 1.5.x
,所以我们就选择最新的 GA
版本 1.5.19
,构建工具和语言选择为 Gradle
和 Java
,你也可以根据自身的喜好进行选择。基础信息填写完成后,我们还需要添加 Spring MVC
的依赖,点击 Switch to the full version
链接,并勾选 Spring MVC
依赖:
最后点击 Gennerate Project
按钮就可以下载项目框架了,我们将它解压至本地并导入到 IDE
中,可以看到项目的基本结构为:
其中:
-
Demo01Application
Spring Boot 的启动入口类,我们可以通过它的main
方法来启动服务。 -
resources
-
static
:默认的静态资源存储路径。 -
templates
:thymeleaf
模板存放路径(Spring Boot
默认使用thymeleaf
作为模板引擎)。 -
application.properties
:Spring Boot
配置文件。
-
-
build.gradle
settings.gradle
:gradle
的配置文件。
以下是 build.gradle
中配置的依赖项:
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-web'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
}
我们可以看到除了 spring-boot-starter-web
和 spring-boot-starter-test
之外没有任何其他的依赖,因为其它所有需要的依赖项 Spring Boot
都帮我们默认引入了。
下面来实现我们的第一个 Spring Boot
应用:
@RestController
public class HelloWorldController {
@GetMapping("hello")
public String hello() {
return "hello world!";
}
}
以上的就是我们实现 hello world
需要编写的所有代码,接下来启动服务,在 IDE
中运行 Demo01Application.main
方法,即可启动我们的服务:
[图片上传失败...(image-fdf164-1548166840408)]
启动完成后,访问:http://localhost:8080/hello
即可以看到我们编写的 hello world
:
除了编写不到 20 行的 Controller
层代码之外,没有其它任何操作,不需要配置复杂易错的 XML
,不需要关心各种框架的依赖冲突,甚至不需要 Web
容器(Spring Boot 会默认使用内嵌的 Tomcat
容器,可以通过配置修改),我们所需要的做的,只是编写业务相关的代码,其它的事情,Spring Boot
都帮我们处理了。
本篇教程到此结束,在下一篇教程中,我将进一步介绍 Spring Boot
的构建、配置、打包和运行。
网友评论