Junior
O que são beans no contexto de Java e Spring?
sobes.tech IA
Resposta da IA
No contexto de Java e Spring, um bean é um objeto gerido pelo contêiner Spring IoC (Inversão de Controle).
Pontos-chave:
- Objeto: É qualquer objeto Java típico.
- Gestão pelo Spring: O contêiner Spring é responsável por:
- Criar instâncias de beans.
- Configuração (injeção de dependências).
- Gerir o ciclo de vida (inicialização, uso, término).
- Configuração: Os beans são definidos através de XML, anotações (
@Component,@Service,@Repository,@Controller,@Bean) ou configuração baseada em Java. - Estados: A maioria dos beans são singletons no contexto do contêiner Spring por padrão, mas podem ter outras áreas de escopo: prototype, request, session e global session.
Exemplo de definição de um bean usando a anotação @Component:
// Classe reconhecida como bean pelo contêiner Spring
@Component
public class MyService {
// Dependência que o Spring irá injetar
private final MyRepository myRepository;
// Construtor para injetar a dependência
public MyService(MyRepository myRepository) {
this.myRepository = myRepository;
}
public void doSomething() {
myRepository.getData();
}
}
Exemplo de definição de um bean usando configuração baseada em Java:
// Classe de configuração
@Configuration
public class AppConfig {
// Método que declara um bean
@Bean
public MyService myService(MyRepository myRepository) {
return new MyService(myRepository);
}
@Bean
public MyRepository myRepository() {
return new MyRepository();
}
}
Os beans formam a estrutura da sua aplicação Spring, garantindo coesão e gestão dos componentes.