使用Maven搭建Spring Boot框架

文章目录

  • 前言
  • 1.环境准备
  • 2.创建SpringBoot项目
  • 3.配置Maven
    • 3.1 pom.xml文件
    • 3.2 添加其他依赖
    1. 编写代码
    • 4.1 启动类
    • 4.2 控制器
    • 4.3 配置文件
  • 5.运行项目
  • 6.打包与部署
    • 6.1 打包
    • 6.2 运行JAR文件
  • 7.总结

前言

Spring Boot 是一个用于快速构建 Spring 应用程序的框架,它简化了 Spring 应用的初始搭建和开发过程。Maven 是一个强大的项目管理和构建工具,可以帮助我们管理依赖、构建项目。本文将详细介绍如何使用 Maven 搭建一个 Spring Boot 项目。

1.环境准备

在开始之前,确保你的开发环境已经安装了以下工具:

  • JDK:Spring Boot 3.x 需要 JDK 17 或更高版本。建议安装 JDK 21。

  • Maven:用于项目依赖管理和构建。

  • IDE:推荐使用 IntelliJ IDEA 或 Eclipse。

2.创建SpringBoot项目

项目架构

python 复制代码
demo/
├── src/
│   ├── main/
│   │   ├── java/
│   │   │   └── com/cy/demo/
│   │   │       ├── App.java  # Spring Boot 启动类
│   │   │       ├── controller/          # 控制器层
│   │   │       ├── service/             # 服务层
│   │   │       ├── mapper/              # MyBatis Mapper 接口
│   │   │       └── entity/              # 实体类
│   │   └── resources/
│   │       ├── static/                  # 静态资源
│   │       ├── templates/               # 模板文件
│   │       ├── application.yml   # 配置文件
│   │       └── mapper/                  # MyBatis Mapper XML 文件
│   └── test/                            # 测试代码
├── pom.xml                              # Maven 配置文件
└── target/                              # 编译输出目录

3.配置Maven

3.1 pom.xml文件

java 复制代码
<?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>org.cy</groupId>
    <artifactId>oa-server</artifactId>
    <version>1.0-SNAPSHOT</version>

    <properties>
        <maven.compiler.source>21</maven.compiler.source>
        <maven.compiler.target>21</maven.compiler.target>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>

<!--    引入springboot的父项目,统一版本管理,避免版本冲突-->
    <parent>
<!--        groupid:表示依赖属于Spring Boot官方组织-->
        <groupId>org.springframework.boot</groupId>
<!--        Spring Booot父项目模版-->
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>3.2.1</version>
    </parent>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>3.0.3</version>
        </dependency>
        <dependency>
            <groupId>com.mysql</groupId>
            <artifactId>mysql-connector-j</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.auth0</groupId>
            <artifactId>java-jwt</artifactId>
            <version>4.3.0</version>
        </dependency>

<!--        分页依赖-->
        <dependency>
            <groupId>com.github.pagehelper</groupId>
            <artifactId>pagehelper-spring-boot-starter</artifactId>
            <version>2.1.0</version>
        </dependency>
    </dependencies>

</project>

3.2 添加其他依赖

  • 分页插件
java 复制代码
<!--        分页依赖-->
        <dependency>
            <groupId>com.github.pagehelper</groupId>
            <artifactId>pagehelper-spring-boot-starter</artifactId>
            <version>2.1.0</version>
        </dependency>
  • JWT支持
java 复制代码
<dependency>
    <groupId>com.auth0</groupId>
    <artifactId>java-jwt</artifactId>
    <version>4.3.0</version>
</dependency>

4. 编写代码

4.1 启动类

App.java 是Spring Boot启动类

java 复制代码
package org.cy.demo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;


@SpringBootApplication
public class App {

 public static void main(String[] args) {
  SpringApplication.run(App.class,args);
 }

}

4.2 控制器

创建一个简单控制器 MyController.java:

java 复制代码
package org.cy.demo.api;

import org.cy.demo.common.vo.R;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * @author YunR
 * @date 
 */
@RestController
public class MyController {

    @GetMapping("/t") //返回地址
    public R<?> test(){
        return R.OK("这是测试数据");
    }

}

4.3 配置文件

在application.yml中配置数据库连接MyBatis:

java 复制代码
spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/oadb
    username: root
    password: root

mybatis:
  mapper-location: classpath:mapper/**/*.xml
logging:
  level:
    root: info
    web: trace
    org.cy.demo: debug

pagehelper:
  reasonable: true
  helper-dialect: mysql
server:
  port: 9999

# 自定义配置

oa:
  token:
    expire-time:99999999999 # 令牌过期时间
  anonurls: # 无需登录直接可以访问的资源路径,可以使用ant格式
    - /security/login # 表示放行登录接口地址
    - /t

5.运行项目

  1. 在 IDE 中右键点击 App.java,选择 Run。
  2. 打开浏览器,访问 http://localhost:9999/t,你会看到返回的字符串"这是测试数据""。

6.打包与部署

6.1 打包

在项目根目录下运行以下命令,将项目打包为 JAR 文件:

java 复制代码
mvn clean package

打包后的 JAR 文件会生成在 target 目录下

6.2 运行JAR文件

java 复制代码
java -jar target/demo-0.0.1-SNAPSHOT.jar

7.总结

通过本文,你已经学会了如何使用 Maven 搭建一个 Spring Boot 项目,并编写了一个简单的 Web 应用。Spring Boot 的强大功能可以帮助你快速构建现代化的 Java 应用程序。

相关推荐
乔大将军5 分钟前
项目准备(flask+pyhon+MachineLearning)- 1
后端·python·flask
码熔burning9 分钟前
(十 九)趣学设计模式 之 中介者模式!
java·设计模式·中介者模式
_TokaiTeio9 分钟前
微服务100道面试题
java·微服务
eqwaak016 分钟前
基于Spring Cloud Alibaba的电商系统微服务化实战:从零到生产级部署
java·分布式·微服务·云原生·架构
m0_6726565420 分钟前
【Rabbitmq篇】高级特性----TTL,死信队列,延迟队列
java·rabbitmq·java-rabbitmq
胡图蛋.25 分钟前
Spring 中哪些情况下,不能解决循环依赖问题?
java·后端·spring
24k小善28 分钟前
Flink Oceanbase Connector详解
java·大数据·flink
ChinaRainbowSea36 分钟前
8. Nginx 配合 + Keepalived 搭建高可用集群
java·运维·服务器·后端·nginx
猫头鹰~41 分钟前
Ubuntu20.04安装Redis
java·数据库·redis
小志开发1 小时前
Java 多态:代码中的通用设计模式
java·开发语言