Bom dia, galera!
Quero saber qual a diferença entre @Bean e @Component do Spring, quando usar uma e quando usar outra?
Atenciosamente,
Fernando.
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Bom dia, galera!
Quero saber qual a diferença entre @Bean e @Component do Spring, quando usar uma e quando usar outra?
Atenciosamente,
Fernando.
O @Bean trabalha em conjunto com uma classe de configuração (com @Configuration). Também é usado nos métodos dentro dessa classe de configuração dizendo ao Spring para "adicionar o que o método retornar ao contexto do Spring". É programado explicitamente.
O @Component é usado em nossas classes, então o Spring sabe que deve adicioná-lo automaticamente, apenas pelo fato da classe ter essa anotação.
O resultado para ambas as anotações é o mesmo. O bean é adicionado ao contexto do Spring. Portanto, essencialmente, use o @Bean para adicionar classes de terceiros ao contexto. E o @Component, se estiver dentro da sua aplicação.