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

290

积分

0

好友

38

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

在构建Spring Boot项目时,直接继承官方的spring-boot-starter-parent是常见做法,但其内置的依赖管理范围可能无法满足所有开发场景。本文将介绍一种更灵活的Maven依赖管理方案,通过一个精心整理的Parent POM或依赖管理导入,为你的项目预置一系列实用的工具库,涵盖文件处理、网络通信、数据操作等多个方面,帮助提升开发效率。

使用方式

你可以通过两种方式将此依赖管理方案集成到你的项目中。

方式一:作为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,也可以使用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>

项目信息

依赖管理详解

该方案管理了众多常用库的版本,以下按功能分类进行介绍。

IO操作
  • commons-io 2.18.0: Apache出品,用于简化文件、流操作的工具库,非常经典且实用。
  • commons-exec 1.4.0: 提供了更强大灵活的方式来执行和管理外部进程或Shell脚本。
文件处理

这是一个非常丰富的类别,包含了处理各种办公文档、压缩文件、PDF等的库,是后端开发中处理文件的利器,常与数据库和中间件操作协同工作。

  • commons-compress 1.27.1: 支持ZIP、TAR、7z等多种压缩格式的读写。
    • 提示:处理7z格式需额外依赖org.tukaani:xz
  • commons-csv 1.13.0: 用于读写CSV文件的简单库。
  • fastexcel 1.1.0: 高性能的Excel读写库(EasyExcel的新版本)。
  • poi-tl 1.12.2: 基于POI的Word模板引擎,通过占位符动态生成.docx文件,比直接使用POI方便。
  • poi / poi-ooxml 5.4.0: Apache POI,用于操作Microsoft Office文档(.doc/.xls/.ppt 和 .docx/.xlsx/.pptx)的老牌库。
  • pdfbox 3.0.4: 功能全面的PDF处理库,可用于创建、编辑和提取PDF内容。
    • 提示:处理jbig2jpeg2000图像格式需要额外依赖。
  • fontbox / xmpbox 3.0.4: PDFBox的字体和元数据处理模块,通常随PDFBox引入。
  • tika-core 3.1.0: 用于检测文件类型和提取元数据、文本内容的强大工具。
    • 提示:需要解析具体文件内容时,需额外引入tika-parsers-standard-package
图像处理
  • metadata-extractor 2.19.0: 专门从图片文件(如JPEG、PNG)中提取EXIF、IPTC等元数据。
  • thumbnailator 0.4.20: 简单易用的缩略图生成库,支持缩放、旋转、裁剪等操作。
  • jai-imageio-core / jbig2-imageio: 主要用于支持PDFBox处理特定图像格式。
网络与通信
  • commons-net 3.11.1: 实现了FTP、SMTP、POP3等基础网络协议的客户端。
  • resilience4j-bom 2.3.0: 轻量级容错库,提供了断路器、限流器等模式。可整体引入resilience4j-spring-boot3,或仅引入限流模块resilience4j-ratelimiter
集合与数据结构
  • commons-collections4 4.4.4: 对Java集合框架的增强,提供了更多集合类型和工具。
数学运算
  • commons-math3 3.6.1: 提供了广泛的数学计算和统计分析功能。
  • commons-numbers-core 1.2: 基础数学运算和数值计算库。
  • big-math 2.3.2: 提供任意精度的高级BigDecimal数学函数(如sqrt、log、sin等)。
字符串处理
  • commons-text 1.13.0: 提供了字符串相似度计算、字符替换等高级文本处理工具。
  • jpinyin 1.1.8: 汉字转拼音库(注:原项目已停止维护)。
加密安全
  • commons-crypto 1.2.0: 高性能加密库,封装了JCE和OpenSSL。
  • jasypt 1.9.3: 简化加密操作的库,接口封装良好,内置的AES加密器很有参考价值。
    • 提示:以上两者均不支持非对称加密(如RSA)。
XML处理
  • dom4j 2.1.4: 灵活强大的XML解析与操作库。
Bean映射与反射
  • mapstruct 1.6.3: 通过注解自动生成类型安全的Bean映射代码,推荐使用。
  • reflections 0.10.2: 在运行时扫描和查询类路径元数据,编写框架或库时非常有用。
鉴权认证
  • java-jwt 4.5.0: 用于生成和验证JWT(JSON Web Token)的库,上手简单。
  • sa-token-bom 1.40.0: 国产轻量级权限认证框架,功能强大,对Spring Boot支持友好(通过sa-token-spring-boot-starter引入)。
并发编程
  • disruptor 4.0.0: 高性能的无锁线程间消息传递库,可作为内存消息队列的替代方案。
  • expiringmap 0.5.11: 带自动过期功能的Map实现,适合用作内存缓存。
数据持久化与访问
  • redisson / redisson-spring-boot-starter 3.45.0: Redis的Java客户端,提供了丰富的分布式数据结构和服务,其中分布式锁功能常用。
  • dynamic-datasource-spring-boot3-starter 4.3.1: 动态数据源切换starter,适用于多租户、读写分离等场景。
  • mybatis-plus-bom 3.5.10.1: MyBatis的增强工具包,提供了便捷的CRUD、分页等功能(通过mybatis-plus-spring-boot3-starter引入)。
  • mybatis / mybatis-spring-boot-starter 3.0.4: MyBatis核心及其Spring Boot Starter。
  • p6spy 3.9.1: 用于拦截和记录SQL语句的执行,方便调试。
  • spring-vault-core 33.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: 基于JavaDoc注释自动生成API文档的Maven插件,支持多种输出格式。
  • gmavenplus-plugin 4.1.1: 用于在Maven项目中编译和执行Groovy代码的插件,常用来运行Spock测试。



上一篇:Linux端口连接排查:为何SSH(22)通而HTTP(80)不通?
下一篇:C++ bitset容器深度解析:从bitmap原理到海量数据去重实战
您需要登录后才可以回帖 登录 | 立即注册

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

GMT+8, 2025-12-6 23:54 , Processed in 0.085340 second(s), 39 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2025 CloudStack.

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