Integration von Employee Management Dateien

JavaJavaBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

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.

Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL java(("Java")) -.-> java/SystemandDataProcessingGroup(["System and Data Processing"]) java(("Java")) -.-> java/ObjectOrientedandAdvancedConceptsGroup(["Object-Oriented and Advanced Concepts"]) java(("Java")) -.-> java/FileandIOManagementGroup(["File and I/O Management"]) java(("Java")) -.-> java/ConcurrentandNetworkProgrammingGroup(["Concurrent and Network Programming"]) java/ObjectOrientedandAdvancedConceptsGroup -.-> java/classes_objects("Classes/Objects") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/constructors("Constructors") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/oop("OOP") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/annotation("Annotation") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/jdbc("JDBC") java/FileandIOManagementGroup -.-> java/files("Files") java/ConcurrentandNetworkProgrammingGroup -.-> java/working("Working") java/SystemandDataProcessingGroup -.-> java/xml_dom4j("XML/Dom4j") subgraph Lab Skills java/classes_objects -.-> lab-300364{{"Integration von Employee Management Dateien"}} java/constructors -.-> lab-300364{{"Integration von Employee Management Dateien"}} java/oop -.-> lab-300364{{"Integration von Employee Management Dateien"}} java/annotation -.-> lab-300364{{"Integration von Employee Management Dateien"}} java/jdbc -.-> lab-300364{{"Integration von Employee Management Dateien"}} java/files -.-> lab-300364{{"Integration von Employee Management Dateien"}} java/working -.-> lab-300364{{"Integration von Employee Management Dateien"}} java/xml_dom4j -.-> lab-300364{{"Integration von Employee Management Dateien"}} end

Implementierung der springData.xml-Konfiguration

In diesem Schritt wirst du die springData.xml-Konfigurationsdatei implementieren, um Mitarbeiterinformationen zu speichern.

  1. Öffne die springData.xml-Datei im Verzeichnis /home/labex/project/EmployeeSystem/src/main/resources.
  2. 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>
✨ Lösung prüfen und üben

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.

  1. Öffne die springAOP.xml-Datei im Verzeichnis /home/labex/project/EmployeeSystem/src/main/resources.
  2. 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>
✨ Lösung prüfen und üben

Implementierung der springJDBC.xml-Konfiguration

In diesem Schritt wirst du die springJDBC.xml-Konfigurationsdatei implementieren, um die Datenquelle und den JdbcTemplate zu konfigurieren.

  1. Öffne die springJDBC.xml-Datei im Verzeichnis /home/labex/project/EmployeeSystem/src/main/resources.
  2. 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>
✨ Lösung prüfen und üben

Integration der Konfigurationsdateien

In diesem Schritt wirst du die drei Konfigurationsdateien in die applicationContext.xml-Datei mit dem <import>-Tag integrieren.

  1. Öffne die applicationContext.xml-Datei im Verzeichnis /home/labex/project/EmployeeSystem/src/main/resources.
  2. 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>
✨ Lösung prüfen und üben

Testen der Konfiguration

In diesem Schritt wirst du die Testklasse ausführen, um sicherzustellen, dass die Konfiguration korrekt funktioniert.

  1. Öffne ein Terminal und navigiere mit dem folgenden Befehl zum Verzeichnis /home/labex/project/EmployeeSystem:
cd ~/project/EmployeeSystem/
  1. Starte den MySQL-Dienst mit dem folgenden Befehl:
sudo service mysql start
  1. Erstelle eine neue Datenbank namens employeesystem mit dem folgenden Befehl:
mysql -uroot -e "CREATE DATABASE employeesystem"
  1. Importiere die employeesystem.sql-Datei in die employeesystem-Datenbank mit dem folgenden Befehl:
mysql -uroot -p employeesystem < employeesystem.sql

Hinweis: Wenn du gefragt wirst, Enter password:, drücke einfach die Eingabetaste!

  1. 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.

✨ Lösung prüfen und üben

Zusammenfassung

Herzlichen Glückwunsch! Du hast dieses Projekt abgeschlossen. Du kannst in LabEx weitere Labore absolvieren, um deine Fähigkeiten zu verbessern.