当前位置: 首页 > article >正文

Springboot项目开发的通用集成

一、后端项目初始化

环境准备

    1. 一般来说,安装的 JDK 版本是 8、11
    1. MySQL 数据库最好安装 8.x 版本,或者 5.7 版本。

在 IDEA 中新建项目,选择 Spring Initializr 模板,考虑到稳定性,此处选择创建 Java 8 版本的项目。注意需要替换 Server URL 为 https://start.aliyun.com/,因为官方的 Server URL 不支持选择 Java 8。

配置如图:
在这里插入图片描述
选择Spring Boot 2.7.6 版本,可以根据自己的需要添加一些依赖,比如 Spring Web、MyBatis、MySQL、Lombok

在这里插入图片描述
修改资源目录下的配置文件为 application.yml,指定项目启动的端口号和访问地址前缀、项目名称、数据库配置等。代码如下:

server:
  port: 8123
  servlet:
    context-path: /api
spring:
  application:
    name: xxx
# 数据库配置
datasource:
  driver-class-name: com.mysql.cj.jdbc.Driver
  url: jdbc:mysql://localhost:3306/xxx
  username: root
  password: 1234

整合依赖

接下来我们要整合一些开发项目常用的依赖。

1、MyBatis Plus 数据库操作

MyBatis Plus 是 MyBatis 的增强工具,旨在简化开发流程。它提供了开箱即用的 CRUD 方法、动态查询构造器、分页插件和代码生成器等功能,大幅减少重复代码,同时保持与 MyBatis 原生功能的兼容性。例如,通过调用baseMapper.selectById(id),可以直接查询数据库中的记录,而无需手动编写 SQL。

参考官方文档引入:https://baomidou.com/getting-started/#spring-boot2

在 Maven 的 pom.xml 中添加依赖:

<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>3.5.9</version>
</dependency>

注意,添加该依赖后,记得移除 MyBatis 相关的依赖!

注意事项

引入 MyBatis-Plus 之后请不要再次引入 MyBatis 以及 mybatis-spring-boot-starter 和 MyBatis-Spring,以避免因版本差异导致的问题。

在项目中新建 mapper 包,后续用于存放操作数据库的 Mapper 类,然后在项目启动类中添加扫描 Mapper 的 @MapperScan 注解:

@SpringBootApplication
@MapperScan("com.xxx.xxx.mapper")
public class xxxBackendApplication {

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

application.yml中追加配置,开启日志和逻辑删除功能:

mybatis-plus:
  configuration:
    map-underscore-to-camel-case: false
    # 仅在开发环境开启日志
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
global-config:
  db-config:
    logic-delete-field: isDelete # 全局逻辑删除的实体字段名
    logic-delete-value: 1 # 逻辑已删除值(默认为 1)
    logic-not-delete-value: 0 # 逻辑未删除值(默认为 0)


2、Hutool 工具库

Hutool 是主流的 Java 工具类库,集合了丰富的工具类,涵盖字符串处理、日期操作、文件处理、加解密、反射、正则匹配等常见功能。它的轻量化和无侵入性让开发者能够专注于业务逻辑而不必编写重复的工具代码。例如,DateUtil.formatDate(new Date()) 可以快速将当前日期格式化为字符串。

参考官方文档引入:https://doc.hutool.cn

在 Maven 的 pom.xml 中添加依赖:

<dependency>
  <groupId>cn.hutool</groupId>
  <artifactId>hutool-all</artifactId>
  <version>5.8.26</version>
</dependency>

3、Knife4j 接口文档

Knife4j 是基于 Swagger 接口文档的增强工具,提供了更加友好的 API 文档界面和功能扩展,例如动态参数调试、分组文档等。它适用于 Spring Boot 项目中,能够通过简单的配置自动生成接口文档,让开发者和前端快速了解和调试接口,提高写作效率。

参考官方文档引入:https://doc.xiaomininfo.com/docs/quick-start#spring-boot-2

由于使用的是 Spring Boot 2.x,注意要选择 OpenAPI 2 的版本。

在 Maven 的 pom.xml 中添加依赖:

<dependency>
    <groupId>com.github.xiaoymin</groupId>
    <artifactId>knife4j-openapi2-spring-boot-starter</artifactId>
    <version>4.4.0</version>
</dependency>
# 接口文档配置
knife4j:
  enable: true
  openapi:
    title: "接口文档"
    version: 1.0
    group:
      default:
        api-rule: package
        api-rule-resources:
          - cn.xxx.xxx.controller

重启项目,访问http://localhost:xxxx/api/doc.html能够看到接口文档,可以测试调用:
在这里插入图片描述


http://www.kler.cn/a/527381.html

相关文章:

  • 白话DeepSeek-R1论文(一)|AI的顿悟时刻:DeepSeek-R1-Zero 纯强化学习解锁推理新境界
  • AnyThingLLM本地私有知识库搭建
  • HIVE介绍(五)_hive limit
  • 为AI聊天工具添加一个知识系统 之81 详细设计之22 符号逻辑 之2
  • (笔记+作业)书生大模型实战营春节卷王班---L0G2000 Python 基础知识
  • 青少年编程与数学 02-008 Pyhon语言编程基础 09课题、布尔与判断语句
  • DeepSeek能执行程序吗?
  • 基于Spring Security 6的OAuth2 系列之八 - 授权服务器--Spring Authrization Server的基本原理
  • C++并行化编程
  • 解析 Oracle 中的 ALL_SYNONYMS 和 ALL_VIEWS 视图:查找同义词与视图的基础操作
  • 计算机网络一点事(21)
  • 主流的AEB标准有哪些?
  • UE5 GAS RPG Character Classes
  • 翻译: Dario Amodei 关于DeepSeek与出口管制二
  • jinfo命令详解
  • Flask数据的增删改查(CRUD)_flask删除数据自动更新
  • RK3568使用QT搭建TCP服务器和客户端
  • JavaScript原型链与继承:优化与扩展的深度探索
  • deepseek-coder-v2模型,连接 Ollama API 失败
  • 【算法设计与分析】实验5:贪心算法—装载及背包问题