找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

545

积分

0

好友

75

主题
发表于 18 小时前 | 查看: 0| 回复: 0

在Spring Boot项目中,通过继承 spring-boot-starter-parent 来管理依赖是常见做法,但其内置的依赖管理范围有时无法满足复杂的开发需求。本文将分享一个经过实战整理的Maven依赖管理方案,它继承自官方Parent,并集成了文件处理、网络通信、数据持久化等企业开发中常用的高质量依赖库,旨在提升项目配置的灵活性与开发效率。

使用方式

您可以通过两种方式引入此依赖管理包。

方式一:定义为项目父级依赖
在项目的 pom.xml 中使用 <parent> 标签。

<parent>
    <groupId>io.github.pangju666</groupId>
    <artifactId>pangju-dependencies</artifactId>
    <version>1.0.0</version>
    <relativePath/> <!-- lookup parent from repository -->
</parent>

方式二:通过 dependencyManagement 导入
在项目的 pom.xml 中使用 <dependencyManagement> 标签引入。

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>io.github.pangju666</groupId>
            <artifactId>pangju-dependencies</artifactId>
            <version>1.0.0</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

项目继承关系

本项目直接继承自 Spring Boot 官方 Parent (spring-boot-starter-parent:3.4.3),确保了与Spring Boot生态的完全兼容。

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>3.4.3</version>
    <relativePath/> <!-- lookup parent from repository -->
</parent>

依赖管理详解

以下分类介绍了此依赖管理包中包含的核心库及其简要评价。

IO操作
  • commons-io (2.18.0): Apache Commons项目下的经典IO工具库,极大简化了文件、流操作。
  • commons-exec (1.4.0): 用于更强大、灵活地执行外部进程或Shell脚本,比原生 Runtime.exec() 更易用。
文件处理
  • commons-compress (1.27.1): 支持ZIP、TAR、GZIP等多种压缩格式的读写。(注:处理7z格式需额外引入 org.tukaani:xz 依赖)。
  • commons-csv (1.13.0): 简单强大的CSV文件读写库。
  • fastexcel (1.1.0): EasyExcel的新版本,专注于高性能读写Excel文件(XLSX格式)。
  • poi-tl (1.12.2): 基于POI的Word模板引擎,通过标签语法动态生成.docx文档,比直接操作POI便捷。
  • poi / poi-oomxl (5.4.0): Apache POI核心库,分别用于操作旧版(.doc, .xls, .ppt)和新版Office Open XML格式(.docx, .xlsx, .pptx)文件。
  • pdfbox (3.0.4): 功能全面的PDF处理库,支持创建、解析、加密等操作。(注:处理特定图片格式需引入 jbig2-imageiojai-imageio-jpeg2000 等拓展包)。
  • fontbox / xmpbox (3.0.4): PDFBox的子模块,分别用于字体处理和XMP元数据操作,通常随PDFBox引入。
  • tika-core (3.1.0): 强大的文件内容类型(MIME-Type)和元数据解析工具,支持超千种格式。(需配合 tika-parsers-standard-package 使用)。
图像处理
  • metadata-extractor (2.19.0): 从JPEG、PNG等图片中提取EXIF、IPTC等元数据。
  • thumbnailator (0.4.20): 简单易用的缩略图生成库,支持缩放、旋转、裁剪等。
  • jai-imageio-core (1.4.0) / jbig2-imageio (3.0.4): 图像IO扩展库,常与Apache PDFBox配合处理PDF中的图片。
网络通信
  • commons-net (3.11.1): 实现了FTP、SMTP、POP3等基础网络协议的客户端。
  • resilience4j-bom (2.3.0): 轻量级容错库,提供熔断、限流、重试等模式。可整体引入 resilience4j-spring-boot3,或单独使用如 resilience4j-ratelimiter
集合与数学运算
  • commons-collections4 (4.4.0): 对Java集合框架的增强,提供了多种实用集合类和工具。
  • commons-math3 (3.6.1): 提供丰富的数学计算和统计分析功能。
  • commons-numbers-core (1.2): 基础数学运算补充,如复数、分数等。
  • big-math (2.3.2): 为BigDecimal提供高级数学函数(幂、开方、对数、三角函数等)。
字符串与加密
  • commons-text (1.13.0): 提供字符串相似度计算、转义等高级文本处理工具。
  • commons-crypto (1.2.0): 高性能加密库,封装了JCE和OpenSSL。(注:不支持非对称加密)。
  • jasypt (1.9.3): 简化加密操作,内置多种加密器实现,API设计友好。(注:不支持非对称加密)。
XML与对象映射
  • dom4j (2.1.4): 灵活强大的XML处理库,支持XPath查询。
  • mapstruct (1.6.3): 类型安全、高性能的对象映射代码生成器,优于反射实现的Bean拷贝工具。
反射与鉴权
  • reflections (0.10.2): 运行时扫描类路径元数据,用于反向查询类、方法、注解等信息,非常适合框架或库开发。
  • java-jwt (4.5.0): 用于生成和验证JWT(JSON Web Token)的轻量级库。
  • sa-token-bom (1.40.0): 国产轻量级权限认证框架,功能丰富,API设计简洁,可与Spring Boot集成。
并发与缓存
  • disruptor (4.0.0): 高性能无锁内存队列,可作为内存内的极速消息中间件。
  • expiringmap (0.5.11): 支持条目自动过期的Map实现,适合用作内存缓存。
数据访问与中间件
  • redisson (3.45.0) / redisson-spring-boot-starter (3.45.0): Redis高级客户端,提供分布式锁、分布式集合等丰富功能,并提供了Spring Boot Starter便于集成。对于需要与多种数据库/中间件交互的复杂应用场景,合理的依赖管理至关重要。
  • dynamic-datasource-spring-boot3-starter (4.3.1): Spring Boot 3.x动态数据源切换组件,方便实现多租户、读写分离。
  • mybatis-plus-bom (3.5.10.1) / mybatis (3.5.19): MyBatis增强工具包及其兼容的核心版本,显著提升单表操作效率。在构建以Java和Spring Boot为核心的现代后端服务时,高效的数据访问层是基石。
  • p6spy (3.9.1): 数据库访问拦截器,用于在开发测试环境输出完整可执行的SQL日志。
  • spring-vault-core (3.3.1.2): 用于集成HashiCorp Vault,安全地访问和管理敏感配置信息。
其他工具
  • commons-validator (1.9.0): 通用验证器库,适用于参数校验等场景。
  • commons-configuration2 (2.11.0): 统一的应用程序配置管理框架。
  • guava (33.4.0-jre): Google提供的核心Java工具库,涵盖集合、缓存、字符串处理等。
测试
  • spock-core / spock-spring (2.4-M5-groovy-4.0): 基于Groovy的优雅测试框架,支持BDD风格,并能与Spring测试完美集成。

插件管理

  • smart-doc-maven-plugin (3.0.9): 基于Java注释生成API文档的Maven插件,支持OpenAPI规范。
  • gmavenplus-plugin (4.1.1): 用于在Maven项目中编译和运行Groovy代码,常与Spock测试框架配合使用。



上一篇:Spring AI Alibaba Graph实战指南:从商品信息增强到大规模工具调度
下一篇:Kubernetes节点维护实战:生产环境下的安全操作与避坑指南
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2025-12-10 20:51 , Processed in 0.083067 second(s), 42 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2025 云栈社区.

快速回复 返回顶部 返回列表