Junior — Middle
Qual será o efeito de usar a anotação @Bean em um método dentro de uma classe para a instância dessa classe?
sobes.tech IA
Resposta da IA
A anotação @Bean no Spring Framework é usada para definir um método que cria e devolve um objeto gerido pelo contêiner Spring como um bean.
Se um método com @Bean estiver dentro de uma classe que também é um componente do Spring (por exemplo, anotada com @Configuration), então ao criar uma instância dessa classe, o Spring chamará esse método e registará o objeto devolvido como um bean no contexto.
Efeitos de usar @Bean num método:
- O método é chamado uma vez (se o scope não for alterado), e o resultado é armazenado em cache como um bean singleton.
- Permite configurar e criar explicitamente beans que não podem ser detectados automaticamente por varredura.
- Permite gerir dependências e configuração através de código Java.
Exemplo:
@Configuration
public class AppConfig {
@Bean
public MyService myService() {
return new MyServiceImpl();
}
}
Neste exemplo, myService será registado como um bean, e poderá ser injetado em outros componentes.