Introduction
Dans ce projet, vous allez apprendre à diviser et à intégrer les fichiers de configuration pour un système de gestion d'employés à l'aide du framework Spring. Le projet vise à démontrer les avantages de la modularisation de la configuration et à utiliser la balise <import> pour améliorer la maintenabilité et la collaboration du système.
🎯 Tâches
Dans ce projet, vous allez apprendre :
- Comment diviser le fichier
applicationContext.xmlen fichiers XML séparés en fonction des fonctionnalités Spring (SpringData, SpringAOP et SpringJDBC). - Comment implémenter la configuration pour chaque fichier XML séparé pour gérer les informations sur les employés, activer Spring AOP et configurer la source de données et JdbcTemplate.
- Comment intégrer les fichiers de configuration séparés à nouveau dans le fichier
applicationContext.xmlà l'aide de la balise<import>. - Comment tester la configuration intégrée pour vous assurer que le système fonctionne correctement.
🏆 Réalisations
Après avoir terminé ce projet, vous serez capable de :
- Modulariser la configuration d'une application basée sur Spring.
- Utiliser la balise
<import>pour gérer et maintenir la configuration. - Comprendre l'importance de la séparation des préoccupations dans la configuration pour améliorer la maintenabilité et la collaboration.
- Configurer la source de données, JdbcTemplate et Spring AOP dans une application Spring.
Implémentation de la configuration springData.xml
Dans cette étape, vous allez implémenter le fichier de configuration springData.xml pour stocker les informations sur les employés.
- Ouvrez le fichier
springData.xmldans le répertoire/home/labex/project/EmployeeSystem/src/main/resources. - Ajoutez la configuration suivante pour définir les beans d'informations sur les employés :
<?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">
<!-- Beans d'informations sur les employés -->
<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>
Implémentation de la configuration springAOP.xml
Dans cette étape, vous allez implémenter le fichier de configuration springAOP.xml pour activer Spring AOP, annoter les aspects AspectJ et déclarer les classes recommandées.
- Ouvrez le fichier
springAOP.xmldans le répertoire/home/labex/project/EmployeeSystem/src/main/resources. - Ajoutez la configuration suivante pour activer AOP et déclarer le bean
EmployeeAdvice:
<?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">
<!-- Configurations AOP -->
<aop:aspectj-autoproxy />
<bean id="employeeAdvice" class="org.labex.advice.EmployeeAdvice" />
</beans>
Implémentation de la configuration springJDBC.xml
Dans cette étape, vous allez implémenter le fichier de configuration springJDBC.xml pour configurer la source de données et JdbcTemplate.
- Ouvrez le fichier
springJDBC.xmldans le répertoire/home/labex/project/EmployeeSystem/src/main/resources. - Ajoutez la configuration suivante pour définir la source de données et le bean JdbcTemplate :
<?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">
<!-- Placeholder de propriété pour la configuration de la base de données -->
<context:property-placeholder location="classpath:database.properties"/>
<!-- Configuration du bean DataSource -->
<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}" />
<!-- Configuration du bean JdbcTemplate -->
<bean id="template" class="org.springframework.jdbc.core.JdbcTemplate">
<constructor-arg index="0" ref="datasource" />
</bean>
</beans>
Intégration des fichiers de configuration
Dans cette étape, vous allez intégrer les trois fichiers de configuration dans le fichier applicationContext.xml à l'aide de la balise <import>.
- Ouvrez le fichier
applicationContext.xmldans le répertoire/home/labex/project/EmployeeSystem/src/main/resources. - Ajoutez la configuration suivante pour importer les trois fichiers XML :
<?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">
<!-- Balayage de packages -->
<context:component-scan base-package="org.labex.dao"/>
<!-- Importation de fichiers de configuration externes -->
<import resource="classpath:springData.xml"/>
<import resource="classpath:springAOP.xml"/>
<import resource="classpath:springJDBC.xml"/>
</beans>
Test de la configuration
Dans cette étape, vous allez exécuter la classe de test pour vous assurer que la configuration fonctionne correctement.
- Ouvrez un terminal et accédez au répertoire
/home/labex/project/EmployeeSystemen utilisant la commande suivante :
cd ~/project/EmployeeSystem/
- Démarrez le service MySQL en utilisant la commande suivante :
sudo service mysql start
- Créez une nouvelle base de données nommée
employeesystemen utilisant la commande suivante :
mysql -uroot -e "CREATE DATABASE employeesystem"
- Importez le fichier
employeesystem.sqldans la base de donnéesemployeesystemen utilisant la commande suivante :
mysql -uroot -p employeesystem < employeesystem.sql
Remarque : Si vous recevez une invite Entrez le mot de passe :, appuyez simplement sur Entrée!
- Exécutez la commande suivante pour exécuter le test :
mvn test
Le test devrait s'exécuter avec succès, et vous devriez voir la sortie suivante :
-------------------------------------------------------
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] ------------------------------------------------------------------------
Félicitations! Vous avez réussi à diviser le fichier applicationContext.xml et à intégrer la configuration à l'aide de la balise <import>.
Résumé
Félicitations! Vous avez terminé ce projet. Vous pouvez pratiquer plus de laboratoires sur LabEx pour améliorer vos compétences.



