Integración de archivos de gestión de empleados

JavaJavaBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

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.

Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL 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(("Java")) -.-> java/SystemandDataProcessingGroup(["System and Data Processing"]) 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{{"Integración de archivos de gestión de empleados"}} java/constructors -.-> lab-300364{{"Integración de archivos de gestión de empleados"}} java/oop -.-> lab-300364{{"Integración de archivos de gestión de empleados"}} java/annotation -.-> lab-300364{{"Integración de archivos de gestión de empleados"}} java/jdbc -.-> lab-300364{{"Integración de archivos de gestión de empleados"}} java/files -.-> lab-300364{{"Integración de archivos de gestión de empleados"}} java/working -.-> lab-300364{{"Integración de archivos de gestión de empleados"}} java/xml_dom4j -.-> lab-300364{{"Integración de archivos de gestión de empleados"}} end

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>
✨ Revisar Solución y Practicar

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>
✨ Revisar Solución y Practicar

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>
✨ Revisar Solución y Practicar

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>
✨ Revisar Solución y Practicar

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

✨ Revisar Solución y Practicar

Resumen

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