Um Bean é apenas um bloco de construção simples de qualquer aplicativo Spring avançado. A maior parte da lógica complexa do aplicativo pode estar contida no Bean. A execução de um Bean inclui: criar uma classe singleton, criar uma interface, criar um bean e implementar essa interface em uma classe de aplicativo. Uma classe de aplicativo que contém um bean é conhecida como injetor de dependência.
A injeção de dependência é feita injetando um único objeto por meio de um objeto Bean em um componente ou unidade. Todo e qualquer componente de uma classe de aplicativo conterá um ou mais objetos Bean. A classe singleton conterá uma interface, enquanto as outras classes terão uma implementação dessa interface. A injeção de dependência em uma classe Bean geralmente é feita através do uso de um processador de anotação.
O uso de anotações tornou muito fácil localizar um bean, mesmo quando há muitos objetos Bean com o mesmo nome. O uso de processador de anotação ajudará você a pesquisar um objeto de bean específico sem ter que especificar manualmente um parâmetro de consulta para cada objeto de bean. Os objetos de bean têm o mesmo nome da classe na qual estão contidos. O tipo mais comum de bean que você pode encontrar dentro de uma classe de aplicativo é o bean de sessão. O tipo mais importante de bean que você pode encontrar dentro de um contêiner de injeção de dependência é o bean de sessão. O uso do injetor de dependência ajuda a garantir que todos os métodos necessários de sua classe de aplicativo sejam inicializados corretamente.