Prefacio
Antes de introducir la instancia de los frijoles, primero debemos introducir qué es un frijol y cómo configurar los frijoles.
Si la primavera se considera una gran fábrica, entonces el frijol en el contenedor de primavera es el producto de esa fábrica. Para usar Spring Factory para producir y administrar frijoles, debe especificar en el archivo de configuración qué frijoles se necesitan y cómo ensamblarlos.
Spring Container admite dos formatos de archivos de configuración, a saber, el formato de archivo de propiedades y el formato de archivo XML. En el desarrollo real, la cantidad más utilizada es el formato de archivo XML. Por lo tanto, en la siguiente explicación, explicaremos el método de configuración del formato de archivo XML. El elemento raíz de un archivo de configuración XML es <Beans>, que puede contener múltiples elementos infantiles <Bean>, cada elemento infantil define un frijol y describe cómo el frijol debe ensamblarse en un contenedor de resorte. Las propiedades en el elemento <Bean> son las siguientes:
En un archivo de configuración, generalmente un frijol ordinario solo necesita definir dos atributos: ID y clase. La forma de definir un frijol es la siguiente:
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"><beans> <!-- Configure the specified object to spring and let spring create its instance--> <bean id = "userdao"/> <bean name = "userDao1, userdao2"/> </beans>
En el código anterior, se definen dos frijoles utilizando los atributos de identificación y nombre, y la clase de implementación correspondiente se especifica utilizando el elemento de clase. Si no se especifican la identificación y el nombre, Spring usará el valor de clase como ID.
Cuatro formas de instanciar frijoles en primavera
Este artículo presenta principalmente cuatro formas de instanciar frijoles (métodos de inyección) o cuatro formas de confiar en la instanciación de objetos. El programa anterior utiliza el método para crear objetos de frijoles y utiliza el método del constructor (Spring puede crear objetos de clase bajo la privatización de constructores)
Hay cuatro métodos de creación comunes:
1) Método Setter
2) Constructor
3) Fábrica estática
4) Ejemplo de fábrica
1. Use el método de setter
interfaz pública iuserdao {void adduser (); void deluser (); Void UpdateUser (); } Public Class UserDaoMpl implementa iuserdao {public void addUser () {System.out.println ("Se llamó el método de aduser"); } public void deluser () {system.out.println ("se llamó el método delusador"); } public void UpdateUser () {System.out.println ("Se llamó el método de UpdateUser"); } public classationAction {private iuserdao dao; // DAO es un objeto de dependencia que debe ser administrado por Springg y genera el método Get Set public void Ejecute () {dao.adduser (); dao.updateuser (); dao.deluser (); }}// Archivo de configuración <bean name = "userAction_name"> <Property name = "dao" ref = "userdao_name" /> // El nombre se hace referencia a continuación < /bean> <bean name = "userdao_name" />
// prueba classpathxmLapPlicationContext ctx = new ClassPathXMLApPlicationContext ("Beans.xml"); userAction Action = (userAction) ctx.getBean ("userAction_name"); Action.ExeCute ();2. Función del constructor
Public Class UserAction {// public UserAction () {} Puede mantener un constructor sin parámetros // Estas son varias dependencias, y no es necesario generar un método Get Set privado userinfo user; escuela de cuerda privada; IUSERDAO PRIVADO DAO; // Espero que Spring inyecte el objeto de dependencia Public UserAction (iuserdao dao, userInfo User, String School) {this.dao = dao; this.school = escuela; this.user = usuario; } public void ejecutute () {dao.adduser (); dao.updateuser (); dao.deluser (); System.out.println (usuario); System.out.println (escuela);}// Archivo de configuración <bean name = "userInfo_name"> <Property name = "id" valor = "1" /> <propiedad name = "username" valor = "semanal" /> <propiedad name = "contraseña" value = "123" /> <propiedad name = "nota" value = "esta es una nota" /> < /bean> <bean name = "userAction_name"> <constructor-arg ref Re-usser <constructor-arg ref = "userInfo_name" /> <constructor-arg value = "Harbin Normal University" /> < /bean> /*También puede especificar las propiedades de índice y tipo de tipo, ni índice ni type puede especificarse <bean name = "userAction_name"> <constructor-arg index = "0" ref = "userdao_name" type = "Cat.Dao.iuso.iuso.iUsiUsiUsiUsiUsiUsiUsiUsiUsiUsiUsiUsiUsiUsiUsiUsiUsiUsiUsiUsiUsiUsiUsiUsiUsiUsiUsiUsiUsiUsiUsiUsiUsiUS. is an interface, it cannot be specified for the type of the implementation class.<constructor-arg index="1" ref="userInfo_name" type="cat.beans.UserInfo" /><constructor-arg index="2" value="Harbin Normal University" /></bean>*/ <bean name="userDao_name" />
// prueba classpathxmLapPlicationContext ctx = new ClassPathXMLApPlicationContext ("Beans.xml"); userAction Action = (userAction) ctx.getBean ("userAction_name"); Action.ExeCute ();3. Método de fábrica estática
// Factory, la clase de implementación utilizada para generar DAO Public Class UserDaofactory {public static iuserdao createUserDaoInstance () {return new UserDaoorAleAmpl (); }} public classationAction {private iuserdao dao; // use el método de fábrica para prestar atención al valor, y también genere el método establecido public void ejecutute () {dao.adduser (); dao.updateuser (); dao.deluser ();} public void setDao (iuserdao dao) {this.dao = dao; }}// Archivo de configuración <bean name = "userAction_name"> <Property name = "dao" ref = "userdao_name" /> < /bean> <bean name = "userdao_name" factory-method = "createUserDaoInstance" />>
// prueba classpathxmLapPlicationContext ctx = new ClassPathXMLApPlicationContext ("Beans.xml"); userAction Action = (userAction) ctx.getBean ("userAction_name"); Action.ExeCute ();IV. Ejemplo de fábrica
// fábrica => clase pública userDaofactory {// Este método no es un público estático iuserdao createUserDaoInstance () {return New UserDaoorAcleImpl (); }}// Archivo de configuración <bean name = "userAction_name"> <Property name = "dao" ref = "userdao_name" /> < /bean> <bean name = "userDaOfactory_name" /> <bean name = "userdao_name" factory-bean = "userDaOfactory_name" factory-metroD = "createUserdainstance" /> /> /> /> /"
Resumir
Lo anterior es todo el contenido de este artículo. Espero que el contenido de este artículo tenga cierto valor de referencia para el estudio o el trabajo de todos. Si tiene alguna pregunta, puede dejar un mensaje para comunicarse. Gracias por su apoyo a Wulin.com.