Einführung
In diesem Projekt lernst du, wie du die Konfigurationsdateien eines Mitarbeiterverwaltungssystems mit dem Spring Framework aufteilen und integrieren kannst. Ziel des Projekts ist es, die Vorteile der Modularisierung der Konfiguration und die Verwendung des <import>-Tags zu demonstrieren, um die Wartbarkeit und Zusammenarbeit des Systems zu verbessern.
🎯 Aufgaben
In diesem Projekt wirst du lernen:
- Wie du die
applicationContext.xml-Datei in separate XML-Dateien aufteilen kannst, basierend auf der Spring-Funktionalität (SpringData, SpringAOP und SpringJDBC). - Wie du die Konfiguration für jede separate XML-Datei implementierst, um Mitarbeiterinformationen zu verarbeiten, Spring AOP zu aktivieren und die Datenquelle und den JdbcTemplate zu konfigurieren.
- Wie du die separaten Konfigurationsdateien wieder in die
applicationContext.xml-Datei integrierst, indem du das<import>-Tag verwendest. - Wie du die integrierte Konfiguration testest, um sicherzustellen, dass das System richtig funktioniert.
🏆 Errungenschaften
Nach Abschluss dieses Projekts wirst du in der Lage sein:
- Die Konfiguration einer Spring-basierten Anwendung zu modularisieren.
- Das
<import>-Tag zur Verwaltung und Wartung der Konfiguration zu nutzen. - Die Wichtigkeit der Trennung von Belangen in der Konfiguration zur Verbesserung der Wartbarkeit und Zusammenarbeit zu verstehen.
- Die Datenquelle, den JdbcTemplate und Spring AOP in einer Spring-Anwendung zu konfigurieren.
Implementierung der springData.xml-Konfiguration
In diesem Schritt wirst du die springData.xml-Konfigurationsdatei implementieren, um Mitarbeiterinformationen zu speichern.
- Öffne die
springData.xml-Datei im Verzeichnis/home/labex/project/EmployeeSystem/src/main/resources. - Füge die folgende Konfiguration hinzu, um die Mitarbeiterinformationsbeans zu definieren:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:c="http://www.springframework.org/schema/c"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
<!-- Mitarbeiterinformationsbeans -->
<bean id="emp1" class="org.labex.pojo.Employees"
c:employeeId="000001" c:employeeName="Smith" c:employeeSex="male"
c:employeeBirthday="1993-11-06" c:employeeHiredate="2018-10-11" c:userId="1"/>
<bean id="emp2" class="org.labex.pojo.Employees"
c:employeeId="000021" c:employeeName="John" c:employeeSex="haha"
c:employeeBirthday="1990-07-16" c:employeeHiredate="2019-10-21" c:userId="4"/>
<bean id="emp3" class="org.labex.pojo.Employees"
c:employeeId="000022" c:employeeName="Ada" c:employeeSex="female"
c:employeeBirthday="1993-02-11" c:employeeHiredate="2019-12-27" c:userId="12"/>
<bean id="emp4" class="org.labex.pojo.Employees"
c:employeeId="000035" c:employeeName="Brown" c:employeeSex="male"
c:employeeBirthday="1991-06-23" c:employeeHiredate="2020-05-06" c:userId="19"/>
<bean id="emp5" class="org.labex.pojo.Employees"
c:employeeId="000066" c:employeeName="Emma" c:employeeSex="sss"
c:employeeBirthday="1997-12-21" c:employeeHiredate="2021-01-03" c:userId="20"/>
</beans>
Implementierung der springAOP.xml-Konfiguration
In diesem Schritt wirst du die springAOP.xml-Konfigurationsdatei implementieren, um Spring AOP zu aktivieren, AspectJ-Aspekte zu annotieren und die empfohlenen Klassen zu deklarieren.
- Öffne die
springAOP.xml-Datei im Verzeichnis/home/labex/project/EmployeeSystem/src/main/resources. - Füge die folgende Konfiguration hinzu, um AOP zu aktivieren und den
EmployeeAdvice-Bean zu deklarieren:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop.xsd">
<!-- AOP-Konfigurationen -->
<aop:aspectj-autoproxy />
<bean id="employeeAdvice" class="org.labex.advice.EmployeeAdvice" />
</beans>
Implementierung der springJDBC.xml-Konfiguration
In diesem Schritt wirst du die springJDBC.xml-Konfigurationsdatei implementieren, um die Datenquelle und den JdbcTemplate zu konfigurieren.
- Öffne die
springJDBC.xml-Datei im Verzeichnis/home/labex/project/EmployeeSystem/src/main/resources. - Füge die folgende Konfiguration hinzu, um die Datenquelle und den JdbcTemplate-Bean zu definieren:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd">
<!-- Eigenschaftsplatzhalter für die Datenbankkonfiguration -->
<context:property-placeholder location="classpath:database.properties"/>
<!-- Datenquelle-Bean-Konfiguration -->
<bean id="datasource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"
p:driverClassName="${jdbc.driver}" p:url="${jdbc.url}"
p:username="${jdbc.username}" p:password="${jdbc.password}" />
<!-- JdbcTemplate-Bean-Konfiguration -->
<bean id="template" class="org.springframework.jdbc.core.JdbcTemplate">
<constructor-arg index="0" ref="datasource" />
</bean>
</beans>
Integration der Konfigurationsdateien
In diesem Schritt wirst du die drei Konfigurationsdateien in die applicationContext.xml-Datei mit dem <import>-Tag integrieren.
- Öffne die
applicationContext.xml-Datei im Verzeichnis/home/labex/project/EmployeeSystem/src/main/resources. - Füge die folgende Konfiguration hinzu, um die drei XML-Dateien zu importieren:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd">
<!-- Paket-Scanning -->
<context:component-scan base-package="org.labex.dao"/>
<!-- Importieren externer Konfigurationsdateien -->
<import resource="classpath:springData.xml"/>
<import resource="classpath:springAOP.xml"/>
<import resource="classpath:springJDBC.xml"/>
</beans>
Testen der Konfiguration
In diesem Schritt wirst du die Testklasse ausführen, um sicherzustellen, dass die Konfiguration korrekt funktioniert.
- Öffne ein Terminal und navigiere mit dem folgenden Befehl zum Verzeichnis
/home/labex/project/EmployeeSystem:
cd ~/project/EmployeeSystem/
- Starte den MySQL-Dienst mit dem folgenden Befehl:
sudo service mysql start
- Erstelle eine neue Datenbank namens
employeesystemmit dem folgenden Befehl:
mysql -uroot -e "CREATE DATABASE employeesystem"
- Importiere die
employeesystem.sql-Datei in dieemployeesystem-Datenbank mit dem folgenden Befehl:
mysql -uroot -p employeesystem < employeesystem.sql
Hinweis: Wenn du gefragt wirst, Enter password:, drücke einfach die Eingabetaste!
- Führe den folgenden Befehl aus, um den Test auszuführen:
mvn test
Der Test sollte erfolgreich ausgeführt werden, und du solltest die folgende Ausgabe sehen:
-------------------------------------------------------
T E S T S
-------------------------------------------------------
Running org.labex.TestEmployeeSystem
//...Omit the test output...
Results :
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 7.645 s
[INFO] Finished at: 2024-01-05T16:27:39Z
[INFO] ------------------------------------------------------------------------
Herzlichen Glückwunsch! Du hast die applicationContext.xml-Datei erfolgreich aufgeteilt und die Konfiguration mit dem <import>-Tag integriert.
Zusammenfassung
Herzlichen Glückwunsch! Du hast dieses Projekt abgeschlossen. Du kannst in LabEx weitere Labore absolvieren, um deine Fähigkeiten zu verbessern.



