在线创建
这是官方提供的一个创建方式,实际上,如果我们使用开发工具去创建 Spring Boot 项目的话(即第二种方案),也是从这个网站上创建的,只不过这个过程开发工具帮助我们完成了,我们只需要在开发工具中进行简单的配置即可。
首先打开 https://start.spring.io/ 这是Spring的官网。
这里要配置的按顺序分别如下:
- 项目构建工具是 Maven 还是 Gradle ?有人是用 Gradle 做 Java 后端项目,但是整体感觉 Gradle 在 Java 后端中使用的还是比较少,Gradle 在 Android 中使用较多,Java 后端,目前来看还是 Maven 为主,因此这里选择第一项。
- 开发语言,这个当然是选择 Java 了。
- Spring Boot 版本,可以看到,目前最新的稳定版是 2.2.4 ,这里我们就是用最新稳定版。
- 既然是 Maven 工程,当然要有项目坐标,项目描述等信息了,另外这里还让输入了包名,因为创建成功后会自动创建启动类。
- Packing 表示项目要打包成 jar 包还是 war 包,Spring Boot 的一大优势就是内嵌了 Servlet 容器,打成 jar 包后可以直接运行,所以这里建议打包成 jar 包,当然,开发者根据实际情况也可以选择 war 包。
- 然后选选择构建的 JDK 版本。
- 最后是选择所需要的依赖,输入关键字如 web ,会有相关的提示,这里我就先加入 web 依赖。
然后点击 Generate-Ctrl + ,就会自动下载这个项目,解压项目后,用IntelliJ IDEA或Eclipse打开即可。
使用IDEA创建(一般建议使用)
打开IDEA,创建项目,点击左侧的 Spring Initializr,选择java version,这里建议使用8,不然会出错,下面再看错误
填写项目信息,跟之前创建项目是一样的。
这里我创建的是web项目,勾选下面的Web,选择Spring Web,你也可以不用选,在pom.xml上添加依赖。
接下来就是一路Next,第一次创建项目,会比较慢,耐心等待就行。
可以将不需要的文件删掉,剩下的项目结构相信大家就很熟悉了。
pom.xml分析
打开pom.xml,看看Spring Boot项目的依赖:
<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.4.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.cc</groupId>
<artifactId>springboot-01</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>springboot-01</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
如上所示,主要有四个部分:
- 项目元数据信息:创建时候输入的Project Metadata部分,也就是Maven项目的基本元素,包括:groupId、artifactId、version、name、description等
- parent:继承
spring-boot-starter-parent
的依赖管理,控制版本与打包等内容 - dependencies:项目具体依赖,这里包含了
spring-boot-starter-web
用于实现HTTP接口(该依赖中包含了Spring MVC),官网对它的描述是:使用Spring MVC构建Web(包括RESTful)应用程序的入门者,使用Tomcat作为默认嵌入式容器。;spring-boot-starter-test
用于编写单元测试的依赖包。更多功能模块的使用我们将在后面逐步展开。 - build:构建配置部分。默认使用了
spring-boot-maven-plugin
,配合spring-boot-starter-parent
就可以把Spring Boot应用打包成JAR来直接运行。
编写HTTP接口
在主程序的同级目录下(也就是com.cc下),新建一个controller包【一定要在同级目录下,否则识别不到】
HelloController类:
package com.cc.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class HelloController {
//@RestController 的意思就是 Controller 里面的方法都以 json 格式输出
@RequestMapping("/hello")
public String Hello() {
return "hello,world";
}
}
启动主程序,打开浏览器访问 http://localhost:8080/hello,就可以看到效果了!
控制台信息:
这样第一个SpringBoot项目就创建成功了。是不是很简单,简化了很多配置。
彩蛋
如何更改启动时显示的字符拼成的字母,SpringBoot呢?
点击这个链接 可以自行搜索。
到项目下的 resources 目录下新建一个txt文件就可以,banner.txt,如
____________________ //| | \ // | | \ ___________//____|___________|__________()\__________________ /__________________|_=_________|_=___________|_________________{} [ ______ | | . | == ______ { } __[__ /## ##\| | | /## ##\ _{# }_ {_____)______|## ##|___________|_____________|___|## ##|__(______} / ##__## / ##__## \ ----------------------------------------------------------------------------
重新运行主程序: