可通过以下方式创建 Spring Boot
项目:
- 在线网站:导出压缩包后导入
IDEA
。Spring
:https://start.spring.ioAliyun
:https://start.aliyun.com
IDEA
:集成在线网站或从零构建- 基于
Spring Initializr
- 基于
Maven
构建 - 基于
Gradle
构建
- 基于
Spring
官方:https://start.spring.io
Aliyun
:https://start.aliyun.com
填写相关配置,选择所需依赖,点击下载即可。
Spring Initializr
:
修改 Server URL
即可修改在线地址。点击 Next
可进入下一步:
start.spring.io
:
start.aliyun.com
:
选择所需依赖后点击 Finish
即可。
基于 Maven
从零构建 Spring Boot
项目。
创建 Maven
空模板项目:
点击 Next
填写相关信息:
点击 Finish
完成。创建好的项目工程结构如下:
可以看到是非常干净的 Maven
项目结构。打开 pom.xml
文件添加 Spring Boot
的依赖,这里有两种方式:
方式一:使用 parent
标签继承 spring-boot-starter-parent
。
完整 pom
如下:
<?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">
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.6.4</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>xuejian-helloworld</artifactId>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
</project>
方式二:使用预定义依赖标签dependencyManagement
引入spring-boot-dependencies
。
完整pom
如下:
<?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">
<parent>
<groupId>io.github.llnancy</groupId>
<artifactId>xuejian-parent</artifactId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>xuejian-helloworld</artifactId>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>${springboot.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
</project>
使用预定义依赖后,在 dependencies
标签中引入依赖无需指定版本号,较为优雅。
在线网站或 Spring Initializr
方式均可选择构建系统为 Gradle
。
创建 Spring Boot
启动类 io.github.llnancy.xuejian.helloworld.XueJianHelloWorldApplication.java
,编写代码如下:
package io.github.llnancy.xuejian.helloworld;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
/**
* hello world 项目启动类
*
* @author sunchaser [email protected]
* @since JDK8 2022/3/6
*/
@SpringBootApplication
public class XueJianHelloWorldApplication {
public static void main(String[] args) {
SpringApplication.run(XueJianHelloWorldApplication.class, args);
}
}
main
方法中还可使用建造者模式启动 Spring Boot
,代码如下:
package io.github.llnancy.xuejian.helloworld;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.WebApplicationType;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
/**
* hello world 项目启动类
*
* @author sunchaser [email protected]
* @since JDK8 2022/3/6
*/
@SpringBootApplication
public class XueJianHelloWorldApplication {
public static void main(String[] args) {
// SpringApplication.run(XueJianHelloWorldApplication.class, args);
new SpringApplicationBuilder(XueJianHelloWorldApplication.class)
.web(WebApplicationType.SERVLET)
.run(args);
}
}
创建 io.github.llnancy.xuejian.helloworld.controller.HelloController.java
类,编写代码如下:
package io.github.llnancy.xuejian.helloworld.controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* Hello Controller
*
* @author sunchaser [email protected]
* @since JDK8 2022/3/6
*/
@RestController
public class HelloController {
@GetMapping("/hello")
public String hello() {
return "Hello Spring Boot";
}
}
运行 XueJianHelloWorldApplication#main
方法,访问 http://localhost:8080/hello。
完整代码可查看 Github
。