Spring, Spring Boot, Spring 5 Core, Spring MVC, Spring Security, Spring REST, Spring Boot 2, AOP, Thymeleaf, JPA & Hibernate

Im folgenden behandeln wir verschiedene Aspekte zu Spring und Hibernate.

Installation von Java SE, Tomcat Server und Eclipse IDE

Zu Beginn sollte die Java SE zur Ausführung von Java auf der Maschine installierte werden. Die Anwendungen werden auf dem Tomcat Server ausgeführt. Wir verwenden die Eclipse IDE.

Spring Inversion of Control und Spring ApplicationContext.xml

Das Konzept der Inversion of Control ermöglicht es einen Spring die Erstellung von Objekten mittels Beans in einem ApplicationContext.xml zu übernehmen. Somit werden die Objekte an einer zentralen Stelle erstellt und kontrolliert der ApplicationContext.xml.

Spring Dependency Injection und Spring ApplicationContext.xml

Das Konzept der Dependency Injection ermöglicht es durch Spring die Übergabe von Parametern bei der Erstellung eines Objektes durch das ApplicationContext.xml zu übernehmen (Constructor Injection). Somit werden die Parameter an einer zentralen Stelle injiziert im ApplicationContext.xml. Im ApplicationContext.xml kann des Weiteren eine Setter Methode injiziert werden (Setter Injection). Es können Literale injiziert werden (Literal injection). Es können aus einer externen Properties Datei die Werte für die Literalinjektionen in das ApplicationContext.xml einbezogen werden.

Gültigkeitsbereiche von Beans (Bean Scope)

Spring reserviert genau einen Speicher für ein Objekt welches über Beans erstellt wurde (Singelton). Es können auf das Objekt verschiedene Referenzen verweisen. Sofern angegeben, kann der Scope eines Beans durch Angabe des Scope=“prototype“ in der ApplicationContext.xml verändert werden. Somit entsteht für jede Referenz ein neues Objekt welches übers Spring erstellt wurde.

Der Lebenszyklus eines Bean folgt wie folgt:

  • Der Spring Container started
  • Der Bean wird initialisiert
  • Die Dependencies werden injiziert
  • Eine Initialisierungsmethode kann verwendet werden
    • Aufrufen von Methoden zur Geschäftslogik
    • Aufrufen von Handles zu Ressourcen
      • Datenbanken
      • Sockets
      • Dateien etc.
  • Der Bean kann verwendet werden
  • Die context.close Methode leitet die Beendigung der Anwendung ein
  • Eine Destroymethoden kann noch aufgerufen werden
    • Aufrufen von Methoden zur Geschäftslogik
    • Bereinigen der Handles zu Ressourcen
      • Datenbanken
      • Sockets
      • Dateien etc.
  • Die Anwendung wird beendet

Annotations in Spring

Bei der Überschreibung von Methoden wird eine Annotation @override verwendet. Spring ermöglicht die Kontrolle der Annotation in der Datei ApplicationContext.xml. Spring durchsucht alle Klassen in Packet und Unterpacket bei Angabe der @Component Annotation. Die Angabe Standard-Bean ID wird der erste Buchstabe des Klassennamens kleingeschrieben. Der Standard-Bean ID kann beim Aufruf des Beans direkt angegeben werden.

Spring REST (Represential State Transfer) Service

Es können Daten wie aktuelle Wetterdaten von openwheathermap.org zur Verfügung gestellt werden. Ein REST (Represential State Transfer) Service ermöglicht Anwendungen einen Dienst von einem Server zu nutzen welcher Daten wie Wetterdaten durch Datenformate wie xml oder json zur Verfügung stellt. Die Programmiersprache der Anwendung des Klienten oder des Servers spielen hierbei keine Rolle.

Spring Hibernate

Spring Hibernate vereinfacht den Zugriff von Daten auf eine Datenbank. Der Entwickler muss das mapping der Java-Klasse und der Tabelle in einer Datenbank übernehmen. Hibernate übernimmt sodann die Erstellung der JDBC Befehle für den Zugriff der Datenbank.

Weitere Themen folgen.