Modularisierung und Inversion of Control mit Spring done right
Raum Baden
Spring wird in sehr vielen Projekten eingesetzt um bessere Software mit Hilfe von Inversion of Control und Modularisierung zu erreichen.
Oftmals findet man in Projekten eine mangelhafte Umsetzung dieser Prinzipien vor. Zum Beispiel kann es Abhängigkeiten geben, die unbemerkt in XML-Dateien entgegengesetzt zur Compile-Abhängigkeit der Projekte verlaufen. Oder es gibt zentrale XML-Konfigurationen für etwa JPA oder Quartz-Scheduler, die Klassennamen aus allen anderen Projekten enthalten, etwa JPA-Entities für die Persistence Unit oder Quartz-Trigger für den Scheduler. Eine echte Modularisierung ist hier schwierig, da diese zentralen Konfigurationen angepasst werden müssen, sobald Module hinzugefügt oder weggelassen werden.
In diesem Vortrag werden oben beschriebene Antipatterns an Codebeispielen vorgestellt und Best Practices gezeigt, die diesen Problemen vorbeugen und zu besser modularisierbarem Code führen, z.B. richtiger Einsatz der Java-basierten Konfiguration oder ein simpler Plugin-Mechanismus.