Integración de archivos de gestión de empleados

JavaBeginner
Practicar Ahora

Introducción

En este proyecto, aprenderá a dividir e integrar los archivos de configuración de un sistema de gestión de empleados utilizando Spring Framework. El objetivo del proyecto es demostrar los beneficios de modularizar la configuración y utilizar la etiqueta <import> para mejorar la mantenibilidad y la colaboración del sistema.

🎯 Tareas

En este proyecto, aprenderá:

  • Cómo dividir el archivo applicationContext.xml en archivos XML separados basados en la funcionalidad de Spring (SpringData, SpringAOP y SpringJDBC).
  • Cómo implementar la configuración para cada archivo XML separado para manejar la información de empleados, habilitar Spring AOP y configurar la fuente de datos y JdbcTemplate.
  • Cómo integrar los archivos de configuración separados de nuevo en el archivo applicationContext.xml utilizando la etiqueta <import>.
  • Cómo probar la configuración integrada para asegurarse de que el sistema funcione correctamente.

🏆 Logros

Después de completar este proyecto, podrá:

  • Modularizar la configuración de una aplicación basada en Spring.
  • Utilizar la etiqueta <import> para administrar y mantener la configuración.
  • Comprender la importancia de separar las preocupaciones en la configuración para mejorar la mantenibilidad y la colaboración.
  • Configurar la fuente de datos, JdbcTemplate y Spring AOP en una aplicación Spring.

Implementando la configuración de springData.xml

En este paso, implementará el archivo de configuración springData.xml para almacenar la información de empleados.

  1. Abra el archivo springData.xml en el directorio /home/labex/project/EmployeeSystem/src/main/resources.
  2. Agregue la siguiente configuración para definir los beans de información de empleados:
<?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 de información de empleados -->
    <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>

Implementando la configuración de springAOP.xml

En este paso, implementará el archivo de configuración springAOP.xml para habilitar Spring AOP, anotar aspectos de AspectJ y declarar las clases recomendadas.

  1. Abra el archivo springAOP.xml en el directorio /home/labex/project/EmployeeSystem/src/main/resources.
  2. Agregue la siguiente configuración para habilitar AOP y declarar el 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">

    <!-- Configuraciones de AOP -->
    <aop:aspectj-autoproxy />
    <bean id="employeeAdvice" class="org.labex.advice.EmployeeAdvice" />

</beans>

Implementando la configuración de springJDBC.xml

En este paso, implementará el archivo de configuración springJDBC.xml para configurar la fuente de datos y JdbcTemplate.

  1. Abra el archivo springJDBC.xml en el directorio /home/labex/project/EmployeeSystem/src/main/resources.
  2. Agregue la siguiente configuración para definir la fuente de datos y el bean de 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">

    <!-- Marcador de posición de propiedad para la configuración de la base de datos -->
    <context:property-placeholder location="classpath:database.properties"/>

    <!-- Configuración del bean de 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}" />

    <!-- Configuración del bean de JdbcTemplate -->
    <bean id="template" class="org.springframework.jdbc.core.JdbcTemplate">
        <constructor-arg index="0" ref="datasource" />
    </bean>

</beans>

Integrando los archivos de configuración

En este paso, integrará los tres archivos de configuración en el archivo applicationContext.xml utilizando la etiqueta <import>.

  1. Abra el archivo applicationContext.xml en el directorio /home/labex/project/EmployeeSystem/src/main/resources.
  2. Agregue la siguiente configuración para importar los tres archivos 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">

    <!-- Búsqueda de paquetes -->
    <context:component-scan base-package="org.labex.dao"/>

    <!-- Importando archivos de configuración externos -->
    <import resource="classpath:springData.xml"/>
    <import resource="classpath:springAOP.xml"/>
    <import resource="classpath:springJDBC.xml"/>

</beans>

Probando la configuración

En este paso, ejecutará la clase de prueba para asegurarse de que la configuración funcione correctamente.

  1. Abra una terminal y navegue hasta el directorio /home/labex/project/EmployeeSystem utilizando el siguiente comando:
cd ~/project/EmployeeSystem/
  1. Inicie el servicio MySQL utilizando el siguiente comando:
sudo service mysql start
  1. Cree una nueva base de datos llamada employeesystem utilizando el siguiente comando:
mysql -uroot -e "CREATE DATABASE employeesystem"
  1. Importe el archivo employeesystem.sql en la base de datos employeesystem utilizando el siguiente comando:
mysql -uroot -p employeesystem < employeesystem.sql

Nota: Si se le solicita Enter password:, simplemente presione Enter.

  1. Ejecute el siguiente comando para ejecutar la prueba:
mvn test

La prueba debería ejecutarse correctamente y debería ver la siguiente salida:

-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running org.labex.TestEmployeeSystem
//...Omitir la salida de la prueba...
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] ------------------------------------------------------------------------

¡Felicitaciones! Ha dividido correctamente el archivo applicationContext.xml e integrado la configuración utilizando la etiqueta <import>.

Resumen

¡Felicitaciones! Has completado este proyecto. Puedes practicar más laboratorios en LabEx para mejorar tus habilidades.

✨ Revisar Solución y Practicar✨ Revisar Solución y Practicar✨ Revisar Solución y Practicar✨ Revisar Solución y Practicar✨ Revisar Solución y Practicar