Introducción
En este proyecto, aprenderá a configurar una aplicación Spring Boot utilizando un archivo YAML, implementar una clase para manejar los datos de configuración y crear un controlador para mostrar la información configurada en una página web.
👀 Vista previa

🎯 Tareas
En este proyecto, aprenderá:
- Cómo configurar las propiedades de la aplicación utilizando un archivo YAML
- Cómo implementar una clase
Studentpara manejar los datos de configuración - Cómo crear un
StudentControllerpara mostrar los datos configurados en una página web - Cómo modificar la clase de arranque para escanear todas las clases en el paquete del proyecto
🏆 Logros
Después de completar este proyecto, podrá:
- Utilizar archivos YAML para la configuración de la aplicación
- Utilizar la anotación
@ConfigurationPropertiespara enlazar automáticamente los datos de configuración a una clase - Utilizar la anotación
@Valuepara inyectar valores de configuración en un controlador - Utilizar la anotación
@SpringBootApplicationpara configurar la búsqueda de componentes - Desarrollar una aplicación web simple que muestre los datos configurados
Configura el archivo YAML
En este paso, aprenderá a configurar las propiedades de la aplicación utilizando un archivo YAML. Siga los pasos siguientes para completar este paso:
- Vaya al directorio
src/main/resourcesde su proyecto. - Cree un nuevo archivo llamado
application.yml. - En el archivo
application.yml, agregue la siguiente configuración:
## Propiedades definidas por el usuario
school: Stanford University
student:
id: 2024000103
name: Taylor Joy
age: 18
courseId: 100018, 321001, 458911
Esta configuración YAML define la propiedad school y las propiedades student, incluyendo el ID del estudiante, el nombre, la edad y los IDs de los cursos.
Implementa la clase Student
En este paso, implementará la clase Student para manejar los datos de configuración.
- Vaya al paquete
org.labex.entityy cree un nuevo archivo llamadoStudent.java. - En el archivo
Student.java, agregue el siguiente código:
package org.labex.entity;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
import java.util.Arrays;
@Component
@ConfigurationProperties(prefix = "student")
public class Student {
private String id;
private String name;
private int age;
private int[] courseId;
@Override
public String toString() {
return "Student {id=" + id +
", name=" + name +
", age=" + age +
", course id=" + Arrays.toString(courseId) + "}";
}
// Getters and setters
//...
}
En esta clase, utilizamos las anotaciones @Component y @ConfigurationProperties para enlazar automáticamente las propiedades del archivo application.yml a los campos correspondientes en la clase Student.
Implementa el StudentController
En este paso, implementará el StudentController para mostrar los datos configurados.
- Vaya al paquete
org.labex.controllery cree un nuevo archivo llamadoStudentController.java. - En el archivo
StudentController.java, agregue el siguiente código:
package org.labex.controller;
import org.labex.entity.Student;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class StudentController {
@Value("${school}")
private String school;
@Autowired
private Student student;
@GetMapping("/student")
public String getStudent() {
return "school=" + school + student.toString();
}
}
En este controlador, utilizamos la anotación @Value para inyectar la propiedad school, y la anotación @Autowired para inyectar el objeto Student. El método getStudent() mostrará los datos configurados en el navegador cuando se acceda a través del punto final /student.
Modifica la clase de arranque
En este paso, modificará la clase de arranque para escanear todas las clases en el paquete org.labex.
- Vaya al paquete
org.labex.springbootyamly abra el archivoDemoApplication.java. - Actualice la clase
DemoApplicationde la siguiente manera:
package org.labex.springbootyaml;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication(scanBasePackages="org.labex")
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
Al agregar scanBasePackages="org.labex" a la anotación @SpringBootApplication, garantizamos que todas las clases en el paquete org.labex sean escaneadas y administradas por el contexto de Spring.
Empaqueta y ejecuta la aplicación
En este último paso, empaquetará la aplicación en un archivo JAR y ejecutará el servicio de Spring Boot.
- Abra una terminal y vaya al directorio raíz de su proyecto usando el siguiente comando:
cd ~/project/springbootyaml/
- Ejecute los siguientes comandos para empaquetar y iniciar el servicio de Spring Boot:
mvn clean package
mvn spring-boot:run
- Una vez que el servicio esté en ejecución, abra un navegador web y vaya a
http://localhost:8080/student. Debería ver la información de la escuela y el estudiante configurada mostrada en la página.
La salida debería verse así:

¡Felicitaciones! Ha completado con éxito el proyecto configurando la aplicación usando un archivo YAML, implementando las clases necesarias y ejecutando el servicio de Spring Boot.
Resumen
¡Felicitaciones! Has completado este proyecto. Puedes practicar más laboratorios en LabEx para mejorar tus habilidades.



