Java Ecosystem and Frameworks
Build tools, testing, Spring and other frameworks, persistence, logging, serialisation and APIs.
This is an overview — pick a sub-topic below.
Sub-topics (37)
Maven
Build and dependency management with a standard project layout and `pom.xml`.
Gradle
Flexible, fast build tool with Kotlin/Groovy build scripts — standard for Android.
Apache Ant
An older XML-based build tool with explicit targets.
JUnit
The standard Java unit-testing framework (JUnit 5 / Jupiter).
TestNG
A testing framework with flexible configuration, groups, dependencies and data providers.
Mockito
Create mock objects to isolate the unit under test.
AssertJ
Fluent, readable assertions.
Spring Framework
The most widely used Java application framework: dependency injection, AOP, data access, web and messaging.
Spring Boot
Opinionated setup for production-ready Spring apps with auto-configuration and embedded servers.
Spring MVC
Spring's web framework for REST APIs and server-rendered pages.
Spring Security
Authentication and authorisation for Spring apps: sessions, JWT, OAuth2, method security.
Spring Data
Repositories generated from interfaces: `interface SensorRepo extends JpaRepository<Sensor, Long> { List<Sensor> findByType(String t); }`.
Hibernate
The most popular JPA implementation — maps Java objects to database tables.
Jakarta Persistence (JPA)
The standard API for object-relational mapping (formerly Java Persistence API).
Micronaut
A JVM framework that does dependency injection at compile time — fast startup, low memory.
Quarkus
"Supersonic subatomic Java" — Kubernetes-native framework optimised for GraalVM native images and fast startup.
Jakarta EE
The enterprise Java standards (formerly Java EE): Servlets, CDI, JAX-RS, JPA, Bean Validation, JMS.
Javalin
A lightweight web framework for Java and Kotlin.
Vert.x
A reactive, event-driven toolkit for high-concurrency apps on the JVM.
Netty
An asynchronous network framework for high-performance protocol servers and clients.
Android Development
Build Android apps with Java or Kotlin, the Android SDK and Android Studio.
JavaFX
A modern toolkit for desktop GUIs with FXML layouts, CSS styling, charts and media.
Swing
Java's older built-in desktop GUI toolkit.
JDBC
The low-level API for connecting to relational databases.
JPA in Practice
Entities, relationships, repositories and transactions in real applications.
jOOQ
Type-safe SQL built from your database schema — write real SQL in Java with compile-time checks.
Flyway
Versioned database migrations as SQL files (`V1__init.sql`, `V2__add_sensors.sql`).
Liquibase
Database migrations defined as changelogs (XML/YAML/SQL) with rollback support.
Log4j
A logging framework (Log4j 2) with appenders, layouts and async logging.
SLF4J
A logging facade — code against SLF4J, choose the backend (Logback, Log4j 2) at deploy time.
Logback
The default logging backend for Spring Boot, configured with `logback.xml`.
Jackson
The standard JSON library for Java.
Gson
Google's simple JSON library.
Protocol Buffers in Java
Compact, typed binary messages generated from `.proto` files.
gRPC in Java
High-performance RPC framework over HTTP/2 using Protocol Buffers.
JAX-RS
The Jakarta standard for REST APIs (`@Path`, `@GET`, `@Produces`).
OpenAPI for Java
Describe REST APIs in a standard format and generate docs and clients.
Spotted a mistake or want to add detail? Suggest an improvement — Content Contributors' edits are reviewed by editors before they go live.
Discussion (0)
Sign in or join free to ask questions and discuss this topic.