Middle
Qual é a diferença entre configuração e componente?
sobes.tech IA
Resposta da IA
A configuração define como os componentes devem ser criados, configurados e ligados entre si. Um componente é uma instância de uma classe que representa um bloco funcional independente na aplicação, gerido pelo Spring.
Com a configuração (por exemplo, uma classe anotada com @Configuration ou um ficheiro XML), declaramos os beans (@Bean), especificamos as suas dependências e o seu âmbito. Depois, o contêiner Spring usa esta configuração para criar e gerir o ciclo de vida destes beans-componentes.
Exemplo:
// src/main/java/com/example/app/config/AppConfig.java
package com.example.app.config;
import com.example.app.service.MyService;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration // Esta é uma classe de configuração
public class AppConfig {
@Bean // Isto declara um bean (componente) MyService
public MyService myService() {
return new MyService(); // Cria uma instância do componente
}
}
// src/main/java/com/example/app/service/MyService.java
package com.example.app.service;
// Este é um componente (bean) definido na configuração
public class MyService {
public void doSomething() {
System.out.println("MyService está a fazer algo.");
}
}
Neste exemplo, AppConfig é a configuração, e a instância da classe MyService, criada pelo método myService(), é um componente (bean). A configuração descreve como criar e fornecer MyService.