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.
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.
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
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!
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
