Introdução
Neste projeto, você aprenderá como configurar uma aplicação Spring Boot usando um arquivo YAML, implementar uma classe para lidar com os dados de configuração e criar um controlador para exibir as informações configuradas em uma página web.
👀 Visualização

🎯 Tarefas
Neste projeto, você aprenderá:
- Como configurar as propriedades da aplicação usando um arquivo YAML
- Como implementar uma classe
Studentpara lidar com os dados de configuração - Como criar um
StudentControllerpara exibir os dados configurados em uma página web - Como modificar a classe de inicialização para escanear todas as classes no pacote do projeto
🏆 Conquistas
Após concluir este projeto, você será capaz de:
- Usar arquivos YAML para configuração da aplicação
- Usar a annotation
@ConfigurationPropertiespara vincular automaticamente dados de configuração a uma classe - Usar a annotation
@Valuepara injetar valores de configuração em um controlador - Usar a annotation
@SpringBootApplicationpara configurar a varredura de componentes (component scanning) - Desenvolver uma aplicação web simples que exibe os dados configurados
Configurar o Arquivo YAML
Nesta etapa, você aprenderá como configurar as propriedades da aplicação usando um arquivo YAML. Siga os passos abaixo para completar esta etapa:
- Navegue até o diretório
src/main/resourcesno seu projeto. - Crie um novo arquivo chamado
application.yml. - No arquivo
application.yml, adicione a seguinte configuração:
## Propriedades definidas pelo usuário
school: Stanford University
student:
id: 2024000103
name: Taylor Joy
age: 18
courseId: 100018, 321001, 458911
Esta configuração YAML define a propriedade school e as propriedades student, incluindo o ID do aluno, nome, idade e IDs dos cursos.
Implementar a Classe Student
Nesta etapa, você implementará a classe Student para lidar com os dados de configuração.
- Navegue até o pacote
org.labex.entitye crie um novo arquivo chamadoStudent.java. - No arquivo
Student.java, adicione o seguinte 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
// ...
}
Nesta classe, usamos as annotations @Component e @ConfigurationProperties para vincular automaticamente as propriedades do arquivo application.yml aos campos correspondentes na classe Student.
Implementar o StudentController
Nesta etapa, você implementará o StudentController para exibir os dados configurados.
- Navegue até o pacote
org.labex.controllere crie um novo arquivo chamadoStudentController.java. - No arquivo
StudentController.java, adicione o seguinte 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();
}
}
Neste controller, usamos a annotation @Value para injetar a propriedade school e a annotation @Autowired para injetar o objeto Student. O método getStudent() exibirá os dados configurados no navegador quando acessado através do endpoint /student.
Modificar a Classe Startup
Nesta etapa, você modificará a classe de inicialização para escanear todas as classes no pacote org.labex.
- Navegue até o pacote
org.labex.springbootyamle abra o arquivoDemoApplication.java. - Atualize a classe
DemoApplicationda seguinte forma:
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);
}
}
Ao adicionar scanBasePackages="org.labex" à annotation @SpringBootApplication, garantimos que todas as classes no pacote org.labex sejam escaneadas e gerenciadas pelo contexto Spring.
Empacotar e Executar a Aplicação
Nesta etapa final, você empacotará a aplicação em um arquivo JAR e executará o serviço Spring Boot.
- Abra um terminal e navegue até o diretório raiz do seu projeto usando o seguinte comando:
cd ~/project/springbootyaml/
- Execute os seguintes comandos para empacotar e iniciar o serviço Spring Boot:
mvn clean package
mvn spring-boot:run
- Uma vez que o serviço estiver em execução, abra um navegador web e navegue até
http://localhost:8080/student. Você deverá ver as informações da escola e do aluno configuradas exibidas na página.
A saída deve ser semelhante a esta:

Parabéns! Você concluiu com sucesso o projeto configurando a aplicação usando um arquivo YAML, implementando as classes necessárias e executando o serviço Spring Boot.
Resumo
Parabéns! Você concluiu este projeto. Você pode praticar mais laboratórios no LabEx para aprimorar suas habilidades.



