Spring- @ Bean & @Component diferencia

La diferencia entre @Component y @Bean

Spring nos ayuda a administrar Bean en dos partes, una es Bean de registro y otra Bean de ensamblaje.

Hay tres formas de lograr estas dos acciones, una es usar la configuración automática, una es usar JavaConfig y la otra es usar la configuración XML.

@Compent es equivalente a la configuración XML

@Component
public class Student {

    private String name = "lkm";

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}

@Bean debe usarse en la clase de configuración, es decir, la clase debe anotarse con @Configuration

@Configuration
public class WebSocketConfig {

    @Bean
    public Student student(){
        return new Student();
    }
}

Ambos se pueden ensamblar a través de @Autowired

@Autowired
Student student;

 

¿Por qué necesitas @Bean cuando tienes @Compent?

Si desea ensamblar los componentes de la biblioteca de terceros en su aplicación, en este caso, no hay forma de agregar la anotación @Component a su clase, por lo que no puede usar la solución de ensamblaje automatizado, pero nosotros Puede usar @Bean, por supuesto, también puede usar la configuración XML.

 

¿Por qué hay una anotación @Bean en primavera?

Las anotaciones se dividen en dos categorías.

1. Una es usar Bean, es decir, usar Bean que se ha configurado en el archivo xml para completar el conjunto de atributos y métodos; como @Autowired, @Resource, puede pasar byTYPE (@Autowired), byNAME (@Resource ) Manera de conseguir Bean;

2. Un tipo es Bean registrado, @Component, @Repository, @Controller, @Service, @Configration. Estas anotaciones son todos los objetos que desea instanciar en un Bean, colocados en el contenedor de IoC, cuando desea usar , Funcionará con @Autowired y @Resource anteriores para ensamblar perfectamente objetos, propiedades y métodos.

  • @Bean indica claramente un método, qué método, un método para generar un bean, y lo entrega a la administración del contenedor Spring; de esto entendemos por qué @Bean se coloca en la anotación del método, porque es muy Explíquele explícitamente al método anotado que genera un Bean para mí, entréguelo al contenedor Spring y deje el resto a usted.
  • Recuerde, si @Bean se coloca en el método, es un Bean.
952 artículos originales publicados · elogiado 1820 · 890,000 vistas

Supongo que te gusta

Origin blog.csdn.net/Dream_Weave/article/details/105394307
Recomendado
Clasificación