que mvc example ejemplo component bean anotaciones annotation spring annotations

mvc - Al anotar una clase con @Component, ¿significa esto que es un Spring Bean y Singleton?



spring mvc ejemplo (2)

siendo bastante nuevo en Spring, tengo una pregunta sobre anotar una clase. Al anotar una clase con @Component ¿esto significa que esta clase será un Spring Bean y de forma predeterminada un singleton?


Por defecto - Sí.

Sin embargo, puede anular este comportamiento utilizando la anotación @Scope . Por ejemplo: @Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)


Sí, eso es correcto, @Component es un Spring Bean y un Singleton.

Si la clase pertenece a la capa de servicio, es posible que desee anotarla con @Service en @Service lugar

Pero tenga en cuenta que para que estas anotaciones se detecten, debe colocar esta línea en applicationContext.xml :

<context:component-scan base-package="com.yourcompany" />

Acerca de los singletons: los beans de primavera están todos en el alcance de singleton por defecto. Lo único que debe tener en cuenta es que no debe almacenar estado en variables de campo (solo deberían contener dependencias). Por lo tanto, su aplicación estará protegida contra subprocesos y no necesitará una nueva instancia de un bean cada vez. En otras palabras, tus granos son sin estado.