不使用 start.spring.io / idea工具,从 0 开始构建 springboot 项目,熟悉项目构建流程
环境准备:
maven: 3.3+, java: 8+
maven , java 的环境变量都有配置正确, 通过java -version, mvn -version验证
1. 选择你一个你喜欢的文本工具,创建 pom.xml 文件,将以下内容复制进去保存
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://maven.apache.org/POM/4.0.0"
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>
<groupId>com.example</groupId>
<artifactId>myproject</artifactId>
<version>0.0.1-SNAPSHOT</version>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.4.5</version>
</parent>
</project>
复制代码
保存好后,可以在pom.xml 同级目录下面运行mvn package 进行检测,看看是否正常
BUILD SUCCESS 说明pom 文件是正确的
如下图所示
2. 我们在上面的pom 文件中引入了springboot 父工程(spring-boot-starter-parent), 里面包含了后续要引入的基本的jar(Starts)版本信息,所以后续要引入的jar如果已经被springboot父工程管理了,后续不再需要引入版本信息,例如, 我们这次构建一个web项目,添加如下依赖到pom 文件中
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
复制代码
引入web依赖后,可以执行 mvn dependency:tree 查看项目中的jar依赖关系
如下所示
3. 用你喜欢的代码编辑工具 idea/ eclipse 导入maven 项目,创建src/main/java 目录,新建 Example.java 类
添加以下代码
import org.springframework.boot.*;
import org.springframework.boot.autoconfigure.*;
import org.springframework.web.bind.annotation.*;
@RestController
@EnableAutoConfiguration
public class Example {
@RequestMapping("/")
String home() {
return "Hello World!";
}
public static void main(String[] args) {
SpringApplication.run(Example.class, args);
}
}
复制代码
-
Starts 可以 和Springboot的自动装配很好的配合使用,比如项目中添加了
spring-boot-starter-web,Springboot 将检查到,并以web的形式启动项目 -
代码中@RestController,@RequestMapping 是spring mvc 中的注解,用
来处理客户端请求路由, @EnableAutoConfiguration 注解是springboot的
注解,用来启动springboot的自动装配,包含了上述 web工程的自动配置 -
我们直接通过SpringApplication类来启动应用,Example.class 作为自动配置类
传递给SpringBoot应用,来完成自动装配
4. 启动应用
如果使用的是ide/ eclipse 可以直接运行 Example main 函数,启动应用
或者命令行 mvn spring-boot:run
访问: http://localhost:8080
输出下图
5. 将springboot 项目打包成可执行jar 文件
需要添加插件
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
复制代码
执行 mvn package , 在target 目录将生成可执行jar
myproject-0.0.1-SNAPSHOT.jar 可以在target目录下
通过执行
java -jar myproject-0.0.1-SNAPSHOT.jar 运行项目
如下图所示
附: 完整的pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://maven.apache.org/POM/4.0.0"
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>
<groupId>com.example</groupId>
<artifactId>myproject</artifactId>
<version>0.0.1-SNAPSHOT</version>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.4.5</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
复制代码