MuLeI
做创造价值的人
MuLeI的小站

Spring中Bean实例化的三种方式

Spring中Bean实例化的三种方式

Spring中Bean实例化的三种方式

1、实用类构造器实例化(常用)

public class Person {
    private String name;
    private Integer age;

    public Person() {
    }

    public Person(String name, Integer age) {
        this.name = name;
        this.age = age;
    }
}
<!--构造函数实例化-->
<!-- 1.调用无参构造函数 -->
<bean id="person1" class="Person"></bean>

<!-- 2.调用有参构造函数 -->
<bean id="person2" class="Person">
    <constructor-arg name="name" value="李华"/>
    <constructor-arg name="age" value="18"/>
</bean>

2、使用静态工厂方法实例化

public class PersonStaticFactory {
    public static Person createPerson(String name,int age){
        return new Person(name, age);
    }
}
<!-- 通过静态工厂创建对象-->
<bean id="person3" class="PersonStaticFactory" factory-method="createPerson">
    <constructor-arg name="name" value="李雷"/>
    <constructor-arg name="age" value="18"/>
</bean>

3、使用实例工厂方法实例化

public class PersonFactory {
    public Person createPerson(String name,int age){
        return new Person(name, age);
    }
}
<!-- 通过实例工厂创建对象-->
<bean id="instanceFactory" class="PersonFactory"></bean>

<bean id="person4" factory-bean="instanceFactory" factory-method="createPerson">
    <constructor-arg name="name" value="韩梅梅"/>
    <constructor-arg name="age" value="17"/>
</bean>

静态工厂和实例工厂都是间接通过类构造器实现实例化

本博客所有文章除特别声明外,均采用CC BY-SA 4.0 协议,转载请注明出处!

发表回复

textsms
account_circle
email

MuLeI的小站

Spring中Bean实例化的三种方式
Spring中Bean实例化的三种方式
扫描二维码继续阅读
2021-07-02