Propriétés d'injection de la méthode d'usine à ressort

1 injection statique d'usine

Dans Spring, vous pouvez également utiliser des usines statiques pour instancier des Beans. Cette méthode doit fournir une méthode de fabrique statique pour créer une instance du Bean.
① Créer une classe d'entité

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

② Créez une classe de fabrique statique
Créez une classe nommée MyBeanFactory et créez une méthode statique nommée createBean () dans cette classe pour créer des instances de Bean, comme illustré ci-dessous.

public class MyBeanFactory {
    
    
    // 创建Bean实例的静态工厂方法
    public static Person createBean() {
    
    
    	Person person = new Person();
    	person.setName("glp");
        return person;
    }
}

③ Créer un fichier de configuration Spring
Créer un fichier de configuration Spring applicationContext.xml.

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans-3.2.xsd">
    
    <bean id="person" class="com.mengma.instance.static_factory.MyBeanFactory"
        factory-method="createBean" />
        
</beans>

Dans le code ci-dessus, un bean avec un identifiant de personne est défini,L'attribut class spécifie la classe d'implémentation d'usine correspondante en tant que MyBeanFactory, Et l'attribut factory-method est utilisé pour indiquer au conteneur Spring d'appeler la méthode createBean () dans la classe factory pour obtenir une instance du Bean.

Injection d'usine à 2 instances

Dans Spring, une autre façon d'instancier Bean consiste à utiliser une fabrique d'instances pour créer directement des instances Bean dans les méthodes membres.

Dans le même temps, dans le fichier de configuration, le bean qui doit être instancié ne pointe pas directement vers la classe instanciée via l'attribut class, mais configure une fabrique d'instances via l'attribut factory-bean, puis utilise l'attribut factory-method pour déterminer la méthode à utiliser en usine.

① Créer une classe d'entité

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

② Créer une classe de fabrique d'instances
Créez une classe nommée MyBeanFactory.

public class MyBeanFactory {
    
    
    public MyBeanFactory() {
    
    
        System.out.println("person3工厂实例化中");
    }
    // 创建Bean的方法
    public Person createBean() {
    
    
        Person person = new Person();
    	person.setName("cbj");
        return person;
    }
}

③ Créer un fichier de configuration Spring Créer un fichier de configuration
Spring applicationContext.xml comme indiqué ci-dessous.

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans-3.2.xsd">
    
    <!-- 配置实例工厂 -->
    <bean id="myBeanFactory" class="com.mengma.instance.factory.MyBeanFactory" />
    
    <!-- factory-bean属性指定一个实例工厂,factory-method属性确定使用工厂中的哪个方法 -->
    
    <bean id="person" factory-bean="myBeanFactory" factory-method="createBean" />
    
</beans>

Dans le code ci-dessus,Configurez d'abord un bean usine d'instance, puis configurez le bean qui doit être instancié. L'identifiant du Bean personne, une factory-beaninstance de propriété pour spécifier une fabrique, la valeur d'attribut est l'instance d'usine de valeur d'attribut id. Utilisez l'attribut factory-method pour déterminer l'utilisation de la méthode createBean () dans l'usine.

Je suppose que tu aimes

Origine blog.csdn.net/glpghz/article/details/110304453
conseillé
Classement