Spring 三种实例化Bean的方式

一. 构造方法注入

1.applicationContext.xml

 <bean id="person" class="com.ibuyi.free.Case_one.Person">
         <constructor-arg name="name" value="Yang"/>
         <constructor-arg name="age" value="20"/>
 </bean>


2.Person.java
package com.ibuyi.free.Case_one;

public class Person {
    private String name;
    private Integer age;
    public Person(String name,Integer age){
        this.name = name;
        this.age = age;
        
    }

    public String getName() {
        return name;
    }

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

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

    @Override
    public String toString() {
        return "Person{" +
                "name='" + name + '\'' +
                ", age=" + age +
                '}';
    }
}



二. 静态工厂方法实例化

1.applicationContext.xml

    <bean id="person" class="com.ibuyi.free.Case_one.PersonFactory" 
          factory-method="getPerson">

    </bean>




2.PersonFactory.java

package com.ibuyi.free.Case_one;

public class PersonFactory {
    public static Person getPerson(){
        return new Person("Kun",25);
    }
}



三. 实例工厂方法实例化

1.applicationContext.xml

    <bean id="personfactory" class="com.ibuyi.free.Case_one.PersonFactory"/>
    <bean id="person" factory-bean="personfactory" factory-method="getPerson"/>

2.PersonFactory.java

package com.ibuyi.free.Case_one;

public class PersonFactory {
    public Person getPerson(){
        return new Person("YangKun",25);
    }
}

猜你喜欢

转载自blog.csdn.net/weixin_43927892/article/details/104383242