从0到1的springboot项目搭建到打包
- Java
- 15天前
- 12热度
- 0评论
如何从零开始搭建和打包Spring Boot项目
在现代软件开发中,Spring Boot是一个广泛使用的框架,它简化了创建独立运行、生产级别的基于Spring的应用程序。本文将详细介绍如何使用Maven构建一个全新的Spring Boot项目,并进行必要的配置以实现项目的顺利运行与打包。
环境准备
搭建Spring Boot应用需要以下环境:
- JDK(推荐17或更高版本)
- Maven(当前最新稳定版为3.9.x系列)
- IntelliJ IDEA或其他IDE
创建Maven Project
在IntelliJ IDEA中创建一个新的Maven项目,确保引入了必要的依赖项。首先,根据默认设置完成项目的初始化配置。
配置本地仓库路径
可以通过修改Maven的settings.xml文件来指定本地仓库的位置,这有助于管理下载的依赖包和插件。
- 找到并打开你的Maven安装目录下的conf/settings.xml 文件。
- 在该文件中搜索 localRepository 并添加或更改其路径:
<localRepository>/path/to/your/local/repository</localRepository> - 完成设置后,重启IDE以应用变更。
配置Maven项目结构
创建的Spring Boot项目的默认目录结构如下:
src/
├── main/
│ ├── java/
│ │ └── com/
│ │ └── example/
│ │ └── demo/ // 应用主类在此包下
│ └── resources/
│ └── application.properties // 配置文件位置
└── test/
├── java/
│ └── com/
│ └── example/
│ └── demo/ // 单元测试类在此包下
└── resources/引入Spring Boot依赖
配置父级依赖
通过继承spring-boot-starter-parent,可以简化项目的配置和管理。在项目根目录的pom.xml文件中添加以下内容:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.4.4</version> <!-- 请使用官方最新稳定版本 -->
</parent>引入核心Web依赖
spring-boot-starter-web 是一个包含Spring Web MVC模块的starter,用于构建RESTful服务。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>引入测试依赖
为了编写单元测试和集成测试,需引入spring-boot-starter-test。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>配置打包插件
确保项目可以自动打包为可执行的JAR文件,需要添加spring-boot-maven-plugin。
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>完整的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>
<groupId>com.example</groupId>
<artifactId>demo</artifactId>
<version>1.0-SNAPSHOT</version>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.4.4</version> <!-- 请使用官方最新稳定版本 -->
</parent>
<properties>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
</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>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>通过上述步骤,我们成功地创建了一个基础的Spring Boot项目,并配置了必要的依赖和打包插件。接下来我们可以进一步编写业务逻辑和服务端点,使应用变得更加完整。
在后续章节中,我们将详细介绍如何实现REST API、数据库访问以及其他高级功能,以完成一个完整的Web服务应用。请继续阅读以获取更多信息!
修改POM文件以支持Maven
为了确保项目可以顺利打包和运行,你需要在项目的pom.xml中添加必要的依赖项和插件。具体来说,添加Spring Boot Web起步依赖(用于创建Web应用)以及Spring Boot Test起步依赖(用于编写单元测试)。此外还需要配置Spring Boot Maven插件来支持项目构建与打包。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>上面的代码块中,spring-boot-starter-web提供了集成Servlet容器、数据绑定和转换所需的库。接着是测试依赖项:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>该起步依赖包含用于编写单元测试的库,包括JUnit、Hamcrest和Mockito等。
在pom.xml中还必须配置Spring Boot Maven插件:
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>点击IDE右上角的刷新图标或通过Maven窗口手动更新项目,确保依赖项和构建配置已正确应用。
创建应用程序启动类并进行初始测试
接下来,在项目的src/main/java目录下创建一个新的包,并在这个包中编写主应用程序类。例如:
package com.example.demo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}上述代码展示了如何创建一个标准的Spring Boot应用启动类,它会自动配置所有相关的依赖和组件。
将以上代码保存并运行DemoApplication主方法,如果应用能够成功启动而无报错信息,则说明基础环境已搭建完毕。为了进一步验证功能正确性,可以添加一些简单的控制器API:
@RestController
@RequestMapping("/api/v1")
public class SampleController {
@GetMapping("/test")
public String test() {
return "Hello, World!";
}
}这个示例中的SampleController定义了一个GET请求处理器(/api/v1/test),返回简单的文本消息。
重启项目,并在浏览器或Postman中访问该地址以确保一切正常运行。确认请求能够成功响应后,可以继续进行下一步:配置应用端口。
修改默认端口号
如果你想将Spring Boot应用程序的默认监听端口从8080更改为其他值,请在src/main/resources/目录下创建或编辑application.properties文件(或者如果偏好使用YAML格式,则创建application.yml),并在其中指定新的服务器端口:
server.port=9090完成配置后重新启动应用,并访问修改后的URL以确认端口号更改生效。
打包与部署
最后,通过执行Maven的package命令来构建一个可运行的JAR文件。在IDE中找到Maven窗口中的Lifecycle选项卡,选择并点击package任务进行打包操作。
成功完成打包过程后,在项目目标目录下会生成一个名为demo-1.0-SNAPSHOT.jar的文件。你可以通过命令行工具来验证它的可执行性:
java -jar target/demo-1.0-SNAPSHOT.jar启动JAR包后,请检查控制台输出确认没有错误信息,然后访问之前定义好的API端点以确保应用正常工作。