0 Tage Serie
Code-Bibliothek

Java für Fortgeschrittene

Lies diese Java-Snippets für Fortgeschrittene Zeile für Zeile — jedes kommt mit einer Erklärung, was der Code tut und warum.

Java · Mittel

Unveränderlichkeit mit Records

Records sind eine spezielle Art von Klasse, die als transparenter Träger für unveränderliche Daten dient und automatisch Konstruktoren, Accessoren, equals und hashCode generiert.

OOPSyntax
Snippet öffnen →
Java · Mittel

Das Strategy-Pattern mit Enums

In Java können Enums abstrakte Methoden haben, die jede Konstante implementieren muss. Dies setzt das Strategy-Entwurfsmuster effektiv um und ermöglicht es, verschiedene Verhaltensweisen mit versch…

OOPDesign Patterns
Snippet öffnen →
Java · Mittel

Eigene Annotationen für Metadaten

Eigene Annotationen ermöglichen es, Metadaten zum Code hinzuzufügen, die zur Laufzeit mittels Reflection verarbeitet werden können. Dies wird oft von Frameworks für Querschnittsaufgaben wie Logging…

OOPBest Practices
Snippet öffnen →
Java · Mittel

Exception-Chaining für besseres Debugging

Exception-Chaining ermöglicht es, eine Low-Level-Exception (wie IOException) in eine Business-Exception auf höherer Ebene zu verpacken, während die ursprüngliche Ursache erhalten bleibt. Dies bewah…

FehlerbehandlungBest Practices
Snippet öffnen →
Java · Mittelspring

Saubere Constructor Dependency Injection

Konstruktor-Injektion ist der bevorzugte Weg, um Abhängigkeiten in Spring zu verwalten. Sie stellt sicher, dass erforderliche Abhängigkeiten vorhanden sind und ermöglicht 'final' Felder.

FrameworksBest PracticesOOP
Snippet öffnen →
Java · Mittelspring

Controller testen mit MockMvc

MockMvc ermöglicht es Ihnen, Spring MVC-Controller zu testen, ohne einen vollständigen HTTP-Server zu starten. Es bietet eine DSL zum Ausführen von Anfragen und Überprüfen von Ergebnissen.

TestingFrameworks
Snippet öffnen →
Java · Mittelspring

Eigene Validierungs-Annotation

Eigene Constraints ermöglichen es, die Validierungsfunktionen von Spring durch selbst definierte Annotationen zu erweitern. Dies ist nützlich für komplexe Geschäftsregeln, die nicht durch Standard-…

FrameworksBest Practices
Snippet öffnen →
Java · Mittelspring

Transaktions-Propagierung: REQUIRES_NEW

Propagation.REQUIRES_NEW erstellt eine separate Transaktion, die unabhängig von der Transaktion des Aufrufers ist. Wenn die Transaktion des Aufrufers zurückgerollt wird, wird diese dennoch committe…

FrameworksDesign Patterns
Snippet öffnen →
Java · Mittelspring

Performance-Optimierung mit @Cacheable

Die Spring-Cache-Abstraktion ermöglicht es, teure Operationen transparent zwischenzuspeichern. Nachfolgende Aufrufe mit derselben ID geben den Cache-Wert zurück, anstatt den Methodenkörper erneut a…

PerformanceFrameworks
Snippet öffnen →
Java · Mittelspring

Bedingtes Laden von Beans

Bedingte Beans ermöglichen es Ihrer Anwendung, ihre Konfiguration basierend auf Umgebungsvariablen oder Eigenschaftsdateien anzupassen. Dies ist essenziell für die Unterstützung verschiedener Cloud…

FrameworksDesign Patterns
Snippet öffnen →
Java · Mittelspring

Anfragen abfangen mit HandlerInterceptor

Ein HandlerInterceptor ermöglicht die Ausführung von Logik, bevor oder nachdem eine Anfrage einen Controller erreicht. Dies ist ideal für Logging, Authentifizierungsprüfungen oder das Hinzufügen ge…

FrameworksDesign Patterns
Snippet öffnen →
Java · Mittelspring

Dynamische JSON-Filterung mit @JsonView

@JsonView ermöglicht es zu steuern, welche Felder eines Objekts je nach Kontext in JSON serialisiert werden. Sie können Marker-Interfaces definieren, um 'Views' zu erstellen (z.B. Public vs. Admin)…

FrameworksSyntax
Snippet öffnen →