Ciclo de vida y instanciación de frijoles

Uso de frijol

1 configuración básica de etiqueta de frijol

Spring crea el objeto de configuración.

De forma predeterminada, llama al constructor sin parámetros en la clase. Si no hay un constructor sin parámetros, no se puede crear correctamente.

Atributos básicos:

id: el identificador único de la instancia de Bean en el contenedor Spring

clase: nombre completo de Bean

3.2 Configuración del rango de etiquetas de frijoles

Alcance: se refiere al alcance del objeto, el valor es el siguiente:

Rangos Descripción
único Valor predeterminado, singleton
prototipo Práctico
petición En el proyecto WEB, Spring crea un objeto Bean y almacena el objeto en el campo de solicitud
sesión En el proyecto WEB, Spring crea un objeto Bean y almacena el objeto en el campo de sesión
sesión global En el proyecto WEB, se aplica en el entorno de portlet.Si no hay un entorno de portlet, globalSession es equivalente a session

1) Cuando el valor del alcance es singleton

Número de instanciación de frijol: 1

Tiempo de creación de instancias de Bean: cuando se carga el archivo principal de Spring, cree una instancia de la instancia de Bean configurada

Ciclo de vida de Bean:

Creación de objetos: cuando se carga la aplicación y se crea el contenedor, se crea el objeto

Objeto en ejecución: mientras el contenedor esté allí, el objeto siempre estará vivo

Destrucción de objetos: cuando se descarga la aplicación y se destruye el contenedor, se destruye el objeto

2) Cuando el valor del alcance es prototipo

Número de instancias de Bean: múltiples

Tiempo de creación de instancias de Bean: instancia el Bean cuando se llama al método getBean ()

Creación de objetos: cuando utilice un objeto, cree una nueva instancia de objeto.

Operación del objeto: mientras el objeto esté en uso, siempre estará vivo

Destrucción de objetos: cuando un objeto no se usa durante mucho tiempo, el recolector de basura de Java lo recicla

3.3 Configuración del ciclo de vida del frijol

init-method: especifique el nombre del método de inicialización en la clase

método de destrucción: especifique el nombre del método de destrucción en la clase

3.4 Tres formas de instanciación de frijoles

1) Utilice el método de construcción sin argumentos para crear una instancia

Creará un objeto de clase de acuerdo con el constructor sin argumentos predeterminado. Si no hay un constructor sin argumentos predeterminado en el bean, la creación fallará.

<bean id="userDao" class="com.itheima.dao.impl.UserDaoImpl"/>

2) Creación de instancias del método estático de fábrica

El método estático de la fábrica devuelve la instancia de Bean.

public class StaticFactoryBean {
    
    
    public static UserDao createUserDao(){
    
        
    return new UserDaoImpl();
    }
}
<bean id="userDao" class="com.itheima.factory.StaticFactoryBean" 
      factory-method="createUserDao" />

3) Creación de instancias del método de instancia de fábrica

El método no estático de la fábrica devuelve la instancia de Bean

public class DynamicFactoryBean {
    
      
	public UserDao createUserDao(){
    
            
		return new UserDaoImpl(); 
	}
}
<bean id="factoryBean" class="com.itheima.factory.DynamicFactoryBean"/>
<bean id="userDao" factory-bean="factoryBean" factory-method="createUserDao"/>

Supongo que te gusta

Origin blog.csdn.net/david2000999/article/details/113030405
Recomendado
Clasificación