从0到1的springboot项目搭建到打包

如何从零开始搭建和打包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文件来指定本地仓库的位置,这有助于管理下载的依赖包和插件。

  1. 找到并打开你的Maven安装目录下的conf/settings.xml 文件。
  2. 在该文件中搜索 localRepository 并添加或更改其路径:
    <localRepository>/path/to/your/local/repository</localRepository>
  3. 完成设置后,重启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端点以确保应用正常工作。