Skip to content
UPEEC

Java Ecosystem and Frameworks

Build tools, testing, Spring and other frameworks, persistence, logging, serialisation and APIs.

Intermediate
Comments 0

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`.

Easy♥ 0🔖 0💬 0

Gradle

Flexible, fast build tool with Kotlin/Groovy build scripts — standard for Android.

Easy♥ 0🔖 0💬 0

Apache Ant

An older XML-based build tool with explicit targets.

Easy♥ 0🔖 0💬 0

JUnit

The standard Java unit-testing framework (JUnit 5 / Jupiter).

Easy♥ 0🔖 0💬 0

TestNG

A testing framework with flexible configuration, groups, dependencies and data providers.

Intermediate♥ 0🔖 0💬 0

Mockito

Create mock objects to isolate the unit under test.

Intermediate♥ 0🔖 0💬 0

AssertJ

Fluent, readable assertions.

Easy♥ 0🔖 0💬 0

Spring Framework

The most widely used Java application framework: dependency injection, AOP, data access, web and messaging.

Intermediate♥ 0🔖 0💬 0

Spring Boot

Opinionated setup for production-ready Spring apps with auto-configuration and embedded servers.

Intermediate♥ 0🔖 0💬 0

Spring MVC

Spring's web framework for REST APIs and server-rendered pages.

Intermediate♥ 0🔖 0💬 0

Spring Security

Authentication and authorisation for Spring apps: sessions, JWT, OAuth2, method security.

Advanced♥ 0🔖 0💬 0

Spring Data

Repositories generated from interfaces: `interface SensorRepo extends JpaRepository<Sensor, Long> { List<Sensor> findByType(String t); }`.

Intermediate♥ 0🔖 0💬 0

Hibernate

The most popular JPA implementation — maps Java objects to database tables.

Intermediate♥ 0🔖 0💬 0

Jakarta Persistence (JPA)

The standard API for object-relational mapping (formerly Java Persistence API).

Intermediate♥ 0🔖 0💬 0

Micronaut

A JVM framework that does dependency injection at compile time — fast startup, low memory.

Advanced♥ 0🔖 0💬 0

Quarkus

"Supersonic subatomic Java" — Kubernetes-native framework optimised for GraalVM native images and fast startup.

Advanced♥ 0🔖 0💬 0

Jakarta EE

The enterprise Java standards (formerly Java EE): Servlets, CDI, JAX-RS, JPA, Bean Validation, JMS.

Intermediate♥ 0🔖 0💬 0

Javalin

A lightweight web framework for Java and Kotlin.

Easy♥ 0🔖 0💬 0

Vert.x

A reactive, event-driven toolkit for high-concurrency apps on the JVM.

Advanced♥ 0🔖 0💬 0

Netty

An asynchronous network framework for high-performance protocol servers and clients.

Advanced♥ 0🔖 0💬 0

Android Development

Build Android apps with Java or Kotlin, the Android SDK and Android Studio.

Intermediate♥ 0🔖 0💬 0

JavaFX

A modern toolkit for desktop GUIs with FXML layouts, CSS styling, charts and media.

Easy♥ 0🔖 0💬 0

Swing

Java's older built-in desktop GUI toolkit.

Easy♥ 0🔖 0💬 0

JDBC

The low-level API for connecting to relational databases.

Easy♥ 0🔖 0💬 0

JPA in Practice

Entities, relationships, repositories and transactions in real applications.

Intermediate♥ 0🔖 0💬 0

jOOQ

Type-safe SQL built from your database schema — write real SQL in Java with compile-time checks.

Intermediate♥ 0🔖 0💬 0

Flyway

Versioned database migrations as SQL files (`V1__init.sql`, `V2__add_sensors.sql`).

Easy♥ 0🔖 0💬 0

Liquibase

Database migrations defined as changelogs (XML/YAML/SQL) with rollback support.

Intermediate♥ 0🔖 0💬 0

Log4j

A logging framework (Log4j 2) with appenders, layouts and async logging.

Easy♥ 0🔖 0💬 0

SLF4J

A logging facade — code against SLF4J, choose the backend (Logback, Log4j 2) at deploy time.

Easy♥ 0🔖 0💬 0

Logback

The default logging backend for Spring Boot, configured with `logback.xml`.

Easy♥ 0🔖 0💬 0

Jackson

The standard JSON library for Java.

Easy♥ 0🔖 0💬 0

Gson

Google's simple JSON library.

Easy♥ 0🔖 0💬 0

gRPC in Java

High-performance RPC framework over HTTP/2 using Protocol Buffers.

Advanced♥ 0🔖 0💬 0

JAX-RS

The Jakarta standard for REST APIs (`@Path`, `@GET`, `@Produces`).

Intermediate♥ 0🔖 0💬 0

OpenAPI for Java

Describe REST APIs in a standard format and generate docs and clients.

Intermediate♥ 0🔖 0💬 0

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.