1
resposta

@Bean o retorno do método será um bean gerenciado pelo eclipse.

Como no exemplo do vídeo foi anotado um método com @Bean e o instrutor disse que o retorno seria um bean gerenciado pelo spring. Não entendi muito essa questão de bean gerenciado já que o retorno que ele estava dando era um objeto que foi instanciada manualmente com new. O que exatamente é um bean gerenciado pelo spring e qual a diferença para um objeto normal?

1 resposta

Oi Bruno,

Um Bean gereciado pelo Spring é qualquer objeto que você configure para que ele o conheça.

Por exemplo, imagina que você tem o seguinte código:

@Bean
public CalculadorDeImposto getCalculadorDeImposto() {
    return new CalculadorDeImposto();
}

Repare que estou retornando um objeto da própria aplicação(dando new normalmente), e como o método está marcado com @Bean o Spring passa a conhecer esse objeto e gerenciá-lo.

Isso significa que se você precisar desse objeto em alguma classe, por exemplo um controller, basta pedir ao Spring para injetá-lo:

@Controller
public class ProdutosController {

    @Autowired
    private CalculadorDeImposto calculador;
}

O Spring vai conseguir injetar esse atributo normalmente, pois ele detecta que é um objeto do tipo CalculadorDeImposto, e ele conhece esse tipo de objeto, pois foi configurado como um Bean.

Faz sentido?

Bons estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software