Micronaut
Compile-Time DI, schlanke Microservices und testbare modulare Anwendungen.
Enterprise JavaBeispieleArchitekturOffline HTML
Micronaut im Vergleich
Micronaut setzt stark auf Compile-Time Dependency Injection und vermeidet dadurch viel Runtime-Reflection. Das kann für Microservices, Serverless und schnelle Starts interessant sein. Für Teams ist vor allem wichtig, dass die Architektur nicht allein aus Framework-Magie besteht: Controller bleiben Adapter, Use Cases bleiben fachlich, Clients erhalten klare Timeout- und Fehlerregeln.
Micronaut Controller
@Controller("/orders")
class OrderController {
private final PlaceOrderUseCase placeOrder;
OrderController(PlaceOrderUseCase placeOrder) {
this.placeOrder = placeOrder;
}
@Post
HttpResponse<OrderResponse> create(@Body @Valid PlaceOrderRequest request) {
OrderId id = placeOrder.handle(request.toCommand());
return HttpResponse.created(new OrderResponse(id.value()));
}
}
Wann Micronaut sinnvoll ist
| Szenario | Warum passend | Worauf achten |
|---|---|---|
| Neue Microservices | Leichtgewichtig, schnelle Starts, testbar | Team-Know-how und Ökosystem prüfen |
| Serverless | Startup und Speicher relevant | Cold Start ist nur ein Teil der Architektur |
| Modulare JVM-Anwendung | Compile-Time DI macht Abhängigkeiten sichtbar | Framework-spezifische Annotationen nicht in Domain ziehen |
| Migration von Spring | Konzepte ähnlich, Details anders | Auto-Configuration nicht 1:1 erwarten |
Client- und Konfigurationsdisziplin
In jedem Microservice-Framework gilt: Externe Clients brauchen Timeouts, Retry-Strategien, Fehler-Mapping und Observability. Ohne diese Regeln wird ein einzelner Partnerausfall schnell zur Kaskade im ganzen System.