Loslegen
Javaneer
Zurück zur Stufe
Stufe 6·Professionelles Java

Java Frameworks Overview

Spring, Jakarta EE, Quarkus, Micronaut, and Vert.x - what each is for and how to choose.

14 Min. LesezeitFortgeschritten

Deutsche Übersetzung in Arbeit

Diese Lektion ist noch nicht ins Deutsche übersetzt und wird daher auf Englisch angezeigt. Der Rest der Seite ist vollständig lokalisiert.

Auf dieser Seite

You could build a web app with plain Java - but you'd rewrite the same plumbing every time. Frameworks provide that plumbing (web servers, dependency wiring, database access, security) so you focus on your actual features. This lesson maps the Java framework landscape so you know what's out there and how to choose.

What a framework gives you

A framework is like a house's frame and utilities

Building a house from raw materials, you'd lay every pipe and wire yourself. A pre-built frame with plumbing and electrics already run lets you focus on the rooms and décor. A framework provides the structural plumbing of an app - routing, configuration, data access - so you build features, not foundations.

A key idea is Inversion of Control (IoC): instead of your code calling a library when it wants, the framework runs the show and calls your code at the right moments. "Don't call us, we'll call you."

Spring & Spring Boot - the dominant choice

Spring is the most popular Java framework by far, and Spring Boot makes it easy by auto-configuring sensible defaults so you can start in minutes.

  • Handles dependency injection, web APIs, security, data access, and more.
  • Massive ecosystem and community; the default for most enterprise Java.
  • You'll learn Spring Boot in depth in a dedicated lesson.

The alternatives

FrameworkKnown for
Spring BootThe all-rounder; huge ecosystem; enterprise standard
QuarkusFast startup, low memory - built for containers & cloud
MicronautCompile-time DI, fast startup, minimal reflection
Jakarta EEThe standards-based enterprise platform (formerly Java EE)
Vert.xReactive, event-driven, high-concurrency systems

Why the newer frameworks exist

Quarkus and Micronaut arose for the cloud-native era: containers and serverless reward fast startup and low memory. They do more work at compile time (rather than runtime reflection) to boot in milliseconds. Spring has responded with its own native-image support (Spring Native / GraalVM).

How to choose

Default to Spring Boot while learning

For most applications - and certainly while you're learning - Spring Boot is the pragmatic choice: enormous community, endless tutorials, and jobs everywhere. Reach for Quarkus or Micronaut when ultra-fast startup and low memory in containers are top priorities. Match the tool to the requirement, not the hype.

Questions that guide the choice:

  1. Team familiarity? Use what your team knows well.
  2. Cloud/serverless with tight memory & startup? Consider Quarkus/Micronaut.
  3. Need the biggest ecosystem and hiring pool? Spring Boot.
  4. Standards-based, vendor-neutral enterprise? Jakarta EE.

Beyond web frameworks

The Java ecosystem also has specialized frameworks and libraries you'll encounter:

  • Persistence: Hibernate/JPA (next lesson), jOOQ, MyBatis
  • Testing: JUnit, Mockito, Testcontainers
  • Serialization: Jackson (JSON), Gson
  • Reactive: Project Reactor, RxJava

Quick check

What does 'Inversion of Control' mean in a framework?

Key takeaways

  • Frameworks provide reusable application plumbing so you focus on features.
  • Inversion of Control: the framework drives the app and calls your code at the right time.
  • Spring Boot is the dominant, all-round Java framework with a huge ecosystem.
  • Quarkus and Micronaut target cloud-native needs: fast startup and low memory.
  • Jakarta EE is the standards-based enterprise platform; Vert.x targets reactive, high-concurrency systems.
  • Default to Spring Boot while learning; choose alternatives when specific requirements demand them.

Most applications need to store data in a database elegantly. Next, we cover ORM and persistence with JPA and Hibernate.