Spring JSF Template für Tomcat

In diesem Beitrag möchte ich kurz ein Template vorstellen, welches ich aus meinen bisherigen Projekten extrahiert habe. Dabei habe ich die Technologien/Frameworks Tomcat 8.x, Spring 4.3.4, Jsf 3.1.0 und Primefaces 6.2 verwendet. 

In den letzten Wochen habe ich meine privaten Programmier Projekte durchforstet. Dabei ist mir aufgefallen, dass ich meine Projekte mit JSF Anteilen komplett auf Spring umgestellt habe. Im folgenden möchte ich kurz das Zusammenspiel von den oben genannten Technologien beschreiben. Der Quellcode ist unter Github im Ordner tomcat-jsf zu finden.

Verwendet habe ich in Spring eine Java Konfiguration, welche durch AnnotationConfigWebApplicationContext  und WebApplicationInitializer  die notwendigen Rahmenbedingungen liefert für die Kontextdefinition des Web-Environment. Die Abhängigkeit zur WebApplicationInitializer  zwingt mich die Methode onStartup(ServletContext container)  zu implementieren. In dieser Methode werden die Grundlegenden Information für den Servlet Context definiert und ersetzt dabei die web.xml  Datei unter WEB-INF .

In diesem Snippet wird das DispatcherServlet definiert und der Einstiegspunkt für die Konfiguration hinterlegt. Anschließend wird dieses Servlet dem ServletContext  mit einem beliebigen Namen (hier api ) übergeben und das Mapping festgelegt.

Bei der Annotation des Einstiegspunkt der Spring Java Konfiguration wurde eine ScanPackage.class  verwendet, welche in meiner Package-Struktur kurz vor den eigentlichen Klassen liegt. Somit werden automatisch alle Klassen und Resourcen in den Unterordnern für die Spring Konfiguration beachtet.

Für den Test der Komponenten-Integration habe ich ein Dummy RestController hinterlegt.

In Eclipse (oder direkt in der Tomcat Konsole) kann man nun das Template (war) einfügen und über den Browser die Integration testen.

 

Falls sich jemand an diesem Beispiel orientieren sollte, wünsche ich dir/euch mind. genauso viel Spaß mit dem Template wie ich es hatte 🙂

Ausblick

Im Q1 2019 werde ich noch ein weiteres Template für die aktuelle Spring Version anfertigen und gegebenen falls auch eine Spring-Boot Variante anlegen. Mal schauen wie ich dazu komme.

Schreiben Sie einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.