Essential Spring Boot Dependency Collection for Java Projects

This guide compiles a curated set of commonly used Maven dependencies for Spring Boot applications, covering utilities for I/O, file handling, networking, collections, math, security, XML, reflection, authentication, concurrency, data access, testing, and more, with usage examples and brief evaluations.

Java Tech Enthusiast
Java Tech Enthusiast
Java Tech Enthusiast
Essential Spring Boot Dependency Collection for Java Projects

Dependency Management Package

Declare the custom dependency management package pangju-dependencies as the parent of a Spring Boot project using the parent tag or import it via dependencyManagement:

<parent>
  <groupId>io.github.pangju666</groupId>
  <artifactId>pangju-dependencies</artifactId>
  <version>1.0.0</version>
  <relativePath/>
</parent>
<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>

Core Libraries

IO Utilities commons-io 2.18.0 – Simplifies file and stream operations. commons-exec 1.4.0 – Enhanced process execution beyond ProcessBuilder and Runtime.exec().

File Handling commons-compress 1.27.1 – Supports ZIP, TAR, 7z (requires xz for 7z). tika-core 3.1.0 and tika-parsers-standard-package – Extract text and metadata from over 1200 file formats.

Image Processing metadata-extractor 2.19.0 – Reads EXIF, IPTC, XMP metadata. thumbnailator 0.4.20 – Easy thumbnail generation (watch heap usage for large images). jai-imageio-core 1.4.0 and related JPEG2000/JBIG2 extensions – Adds support for additional image formats.

Networking commons-net 3.11.1 – FTP, SMTP, POP3, etc.

Collections & Math commons-collections4 4.4.4 – Extra collection types and utilities. commons-math3 3.6.1 – Linear algebra, statistics, optimization. commons-numbers-core 1.2 – Advanced numeric types (complex, gamma, factorial). big-math 2.3.2 – High‑precision BigDecimal math functions.

String Utilities commons-text 1.13.0 – String similarity, replacement, pattern matching. jpinyin 1.1.8 – Convert Chinese characters to Pinyin (author discontinued).

Security & Encryption commons-crypto 1.2.0 – High‑performance symmetric encryption (no RSA). jasypt 1.9.3 – Simplified encryption API, includes AES implementation.

XML Processing dom4j 2.1.4 – Flexible XML parsing, XPath, XSLT support.

Bean Mapping mapstruct 1.6.3 – Compile‑time generation of type‑safe mappers.

Reflection reflections 0.10.2 – Runtime classpath scanning and metadata indexing.

Authentication java-jwt 4.5.0 – Create and verify JSON Web Tokens. sa-token-bom 1.40.0 – Lightweight Java permission framework.

Concurrency disruptor 4.0.0 – High‑throughput, low‑latency inter‑thread messaging. expiringmap 0.5.11 – In‑memory map with automatic entry expiration (Redis‑like).

Data Access & Caching redisson 3.45.0 and redisson-spring-boot-starter 3.45.0 – Advanced Redis client with distributed locks. dynamic-datasource-spring-boot3-starter 4.3.1 – Runtime switching of multiple data sources. mybatis-plus-bom 3.5.10.1, mybatis 3.5.19, mybatis-spring-boot-starter 3.0.4 – ORM and mapper utilities. p6spy 3.9.1 – SQL logging for debugging.

Testing spock-core 2.4-M5-groovy-4.0 and spock-spring 2.4-M5-groovy-4.0 – BDD‑style testing for Java/Groovy with Spring integration. gmavenplus-plugin 4.1.1 – Maven plugin to compile and run Groovy/Spock tests.

Documentation smart-doc-maven-plugin 3.0.9 – Generates API docs from Java code (Markdown, HTML, OpenAPI).

Additional Utilities

commons-validator 1.9.0

– General purpose validation utilities. commons-configuration2 2.11.0 – Unified configuration handling (properties, XML, JSON, etc.). guava 33.4.0-jre – Rich set of core libraries (collections, caching, concurrency, I/O).

Repository

The full pom.xml and source code are hosted at https://github.com/pangju666/java-pangju-dependencies

Usage Tips

For large file processing (e.g., PDFs, images), consider external command‑line tools such as GraphicsMagick or mupdf to avoid memory pressure.

When using thumbnailator or jai-imageio in high‑concurrency scenarios, monitor heap usage closely.

Combine resilience4j-ratelimiter with Spring Boot for lightweight rate limiting.

Enable p6spy in development to capture executed SQL statements without modifying MyBatis configuration.

Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

dependenciesspring-boot
Java Tech Enthusiast
Written by

Java Tech Enthusiast

Sharing computer programming language knowledge, focusing on Java fundamentals, data structures, related tools, Spring Cloud, IntelliJ IDEA... Book giveaways, red‑packet rewards and other perks await!

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.