Junior
Para que serve a anotação @Bean no Spring?
sobes.tech IA
Resposta da IA
A anotação @Bean é utilizada no Spring Framework para declarar explicitamente um bean (componente) separado que deve ser criado e gerido pelo contêiner IoC do Spring.
As principais razões para a sua utilização:
- Integração de bibliotecas externas: Permite integrar facilmente objetos criados por bibliotecas externas que não estão anotados com
@Component,@Service,@Repository, etc. - Configuração de objetos: Oferece controlo total sobre o processo de criação do objeto, permitindo passar dependências e configurar as suas propriedades na configuração Java.
- Vários exemplos da mesma classe: Permite criar múltiplos beans da mesma classe com configurações diferentes.
- Criação condicional de beans: Em combinação com
@Conditional, é possível criar beans dependendo de certas condições. - Clareza na separação de configuração e lógica de negócio: A configuração da aplicação concentra-se em classes anotadas com
@Configuration, enquanto a lógica de negócio está em classes com@Component.
Exemplo de uso numa classe @Configuration:
// MyConfiguration.java
package com.example;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class MyConfiguration {
@Bean
public MyService myService() {
// Criação e configuração do objeto Service
return new MyService();
}
@Bean
public DataSource dataSource() {
// Criação e configuração da fonte de dados
// Pode ser um objeto de uma biblioteca externa
return new com.example.DataSourceImpl();
}
}