Java 后端框架与常用依赖

发布于 2026-07-27 09:43 更新于 2026-08-02 00:00 878 字 5 min read ... 访问量

本文概述了Java后端开发中常用的框架与技术栈,重点介绍了Spring Boot作为核心框架,结合Maven进行项目配置。通过在src/main/resources/application.yml文件中配置MySQL数据库、Druid连接池和MyBatis-Plus持久层框架,实现了数据库访问与数据操作的标准化配置。

Java 后端框架与常用依赖

技术栈概览

技术领域相关技术主要作用
Java 基础环境Java 17提供 Java 后端程序的编译和运行环境
核心开发框架Spring Framework提供 IoC、DI、AOP、事务管理等基础能力
应用开发框架Spring Boot简化 Spring 应用的配置、依赖管理、启动和部署
Web 开发Spring MVC负责 HTTP 请求处理、参数绑定、控制器调用和响应数据返回
数据持久化MyBatis负责 Java 对象与 SQL 语句之间的映射
持久层增强MyBatis-Plus在 MyBatis 基础上提供通用 CRUD、条件构造器和分页等功能
关系型数据库MySQL用于存储和管理业务数据
数据库连接池Druid管理数据库连接,并提供连接池监控和 SQL 统计等功能
安全认证Spring Security实现用户认证、权限控制和请求安全管理
身份令牌JWT、JJWT实现基于令牌的无状态身份认证
接口文档OpenAPI、Knife4j自动生成接口文档,并提供接口查看和在线调试功能
JSON 处理Jackson完成 Java 对象与 JSON 数据之间的转换
日志管理SLF4J、Logback、Log4j 2记录程序运行状态、调试信息和异常信息
代码简化Lombok通过注解减少 Getter、Setter、构造方法等重复代码
接口设计RESTful使用 HTTP 方法和资源路径规范设计后端接口
项目构建Maven管理项目依赖,并完成编译、测试、打包等构建任务
开发辅助Spring Boot DevTools提供自动重启等开发阶段辅助功能
测试支持Spring Boot Test提供单元测试和集成测试所需的相关组件

Spring Boot 项目

Maven 项目配置

<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>3.3.4</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.hyxy</groupId>
    <artifactId>springboot-demo</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>springboot-demo</name>
    <description>springboot-demo</description>
    <url/>
    <licenses>
        <license/>
    </licenses>
    <developers>
        <developer/>
    </developers>
    <scm>
        <connection/>
        <developerConnection/>
        <tag/>
        <url/>
    </scm>
    <properties>
        <java.version>17</java.version>
    </properties>
    <dependencies>
        <!-- Spring MVC、REST Controller、内置 Tomcat -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>


        <!-- 配置提示 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-configuration-processor</artifactId>
            <optional>true</optional>
        </dependency>

        <!-- 热部署 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <scope>runtime</scope>
            <optional>true</optional>
        </dependency>
        <!-- SpringBoot3 适配核心依赖 -->
        <!-- MyBatisPlus 适配SpringBoot3 专属依赖 -->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-spring-boot3-starter</artifactId>
            <version>3.5.6</version>
        </dependency>
        <!-- MySQL 驱动 -->
        <dependency>
            <groupId>com.mysql</groupId>
            <artifactId>mysql-connector-j</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid-spring-boot-3-starter</artifactId>
            <version>1.2.23</version>
        </dependency>
        <!-- lombok 简化实体类 -->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
        <!-- SpringBoot3 测试依赖 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>com.github.xiaoymin</groupId>
            <artifactId>knife4j-openapi3-jakarta-spring-boot-starter</artifactId>
            <version>4.4.0</version>
        </dependency>
        <dependency>
            <groupId>io.jsonwebtoken</groupId>
            <artifactId>jjwt-api</artifactId>
            <version>0.12.5</version>
        </dependency>
        <dependency>
            <groupId>io.jsonwebtoken</groupId>
            <artifactId>jjwt-impl</artifactId>
            <version>0.12.5</version>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>io.jsonwebtoken</groupId>
            <artifactId>jjwt-jackson</artifactId>
            <version>0.12.5</version>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-security</artifactId>
        </dependency>
        <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>

数据库配置

src/main/resources/application.yml 中配置 MySQL、Druid 和 MyBatis-Plus。

spring:
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource
    druid:
      url: jdbc:mysql://localhost:33066/java2601?serverTimezone=UTC&characterEncoding=utf8
      username: root
      password: 123456
      driver-class-name: com.mysql.cj.jdbc.Driver
      max-active: 10
      min-idle: 3
      initial-size: 2
      max-wait: 10000
mybatis-plus:
  # xml映射文件的位置
  mapper-locations: classpath*:/mapper/**/*.xml
  # 实体类别名 包
  type-aliases-package: com.hyxy.mp.entity
  configuration:
    # 开启下划线转驼峰自动映射
    map-underscore-to-camel-case: true
    # 开启SQL日志打印
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
  global-config:
    db-config:
      # 主键自增策略
      id-type: auto
      # 数据库表前缀(可选)
      # table-pre x: tb_
      # 逻辑删除全局配置
#      logic-delete-field: deleteFlag
#      logic-delete-value: 1 # 已删除
#      logic-not-delete-value: 0 # 未删除
# Knife4j 核心配置(SpringBoot3 通用)
knife4j:
  # 开启增强模式(解锁全部高级功能,必开)
  enable: true
  # 生产环境开关(true=生产关闭文档,false=开发开启)
  production: false
  # UI个性化配置
  setting:
  # 开启暗黑模式
  enable-dark-mode: true
  # 开启接口搜索
  enable-search: true
  # 显示参数长度
  enable-param-length: true
  # 开启接口显示排序
  enable-api-sort: true

jwt:
  secret: l06rIAxOHwGDnjGUvN5XhVIyW4PGQzy4Eff+GFwZTA=
  expire-ms: 3600000

喜欢的话,留下你的评论吧~

... 访问量
© 2026 跨越星轨的客 @Hoshiumi
Powered by theme astro-koharu · Inspired by Shoka