En el pasado, Java Frameworks básicamente usaba XML como archivos de configuración, pero ahora Java Frameworks también admite "Configuración cero" basada en la anotación en lugar de los archivos de configuración XML. Struts2, Hibernate y Spring han comenzado a usar anotaciones en lugar de archivos de configuración XML; y Spring3.x proporciona tres opciones, a saber: configuración basada en XML, configuración basada en anotaciones y configuración basada en Java.
Los siguientes son los tres métodos de configuración; Primero defina un Javabean, por ejemplo.
paquete com.chinalife.dao public class LoginuserDao {... // Se usa para establecer el método de inicialización public void myInit () {} // Se usa para establecer el método de destrucción public void myDestrOY () {}}1. Configuración basada en XML
<bean id = "loginuserdao" class = "com.chinalife.dao.impl.loginuserdaoImpl" lazyinit = "true" init-method = "myinit" destruye-method = "myDestroy" Scope = "prototipo"> ... </ bean>
En la configuración de XML, el bean se define a través de <Bean> </Bean>, y el nombre del bean se define a través del atributo ID o nombre. Si no se especifican los atributos de identificación y nombre, Spring usará automáticamente el nombre de clase totalmente calificado como el nombre del bean. Inyectar valor en el bean a través del atributo dinámico del elemento <properpery> Child o el espacio de nombres P. También puede especificar el nombre del método de la clase de implementación de Bean a través del método init y las propiedades del método de destino de <Bean> para establecer el método de proceso de vida (especifique como máximo un método de inicialización y un método de destrucción). Especifique el alcance del frijol a través del alcance de <Bean>. He oído hablar del atributo de la INIT de la perezosa de <Aran> Especifica si retrasa la inicialización.
Cuando la clase de implementación del Bean proviene de bibliotecas de clase de terceros, como DataSource, HibernateTemplate, etc., no puede anotar información en la clase, y solo se puede configurar a través de XML; y la configuración de espacios de nombres, como AOP, contexto, etc., solo puede usar la configuración basada en XML.
2. Configuración basada en anotaciones
@Scope ("Prototype") @lazy (true) @Component ("LoginuserDao") public class LoginUserDao {... // Se usa para establecer el método de inicialización @PostConstruct Void myInit () {} // Se usa para establecer el método de destrucción @Predestroy public void myDestrOY () {}}}En la clase de implementación de Bean, algunas anotaciones se utilizan para anotar la clase de bean:
・ @Component: anotar una clase SpringBean normal (el nombre del frijol se puede especificar y el valor predeterminado es el nombre de clase que comienza con letras minúsculas cuando no se especifica)
・ @Controller: anotar una clase de controlador
・ @Service: anotar una clase de lógica comercial
・ @Repository: anotar una clase DAO
Al etiquetar @AUTOWIRED mediante el tipo de inyección de coincidencia en las variables del miembro o los parámetros del método, también puede usar @Qualifier para configurar la inyección por su nombre. El método de inicialización y destruir el método especificado anotando la anotación @PostConstrut y Predestroy (ya que muchos pueden definirse). Especifique el alcance de la acción del bean a través de @scope ("prototipo"). Especifique la carga perezosa del frijol etiquetando @lazy (true) en la definición de clase.
Cuando el proyecto actual desarrolla la clase de implementación del Bean, puede usar directamente la configuración basada en anotaciones en la clase Java, y la configuración es relativamente simple.
3. Configuración basada en Java
@Configuration public class conf {@Scope ("Prototype") @Bean ("LoginuserDao") public LoginuserDao LoginuserDao () {return new LoginuserDao (); }}En la clase Java marcada @Configuration, defina un bean anotando @Bean en el método de clase. Los métodos deben proporcionar lógica de instanciación para los frijoles. El nombre del bean se puede definir a través del atributo de nombre @Bean. El nombre predeterminado es el nombre del método si no se especifica. En el método, use @autowired para unir el método al parámetro y luego inyectarlo a través del código en el método; También puede llamar al método @Bean de la clase de configuración para la inyección. Especifique un método de inicialización o destrucción a través de @Bean's InitMethod o DestroyMethod. El alcance de la acción del bean se especifica mediante la definición del método Bean. Especifique la inicialización de retraso del bean etiquetando @lazy en la definición del método Bean.
Cuando la lógica de instancias de un frijol es más complicada, es más adecuada para la configuración de la clase Java.
Resumir
Lo anterior es todo el contenido de este artículo sobre los tres métodos de configuración de frijoles en Spring 3.x. Espero que sea útil para todos. Los amigos interesados pueden continuar referiéndose a otros temas relacionados en este sitio. Si hay alguna deficiencia, deje un mensaje para señalarlo. ¡Gracias amigos por su apoyo para este sitio!