Spring中IOC创建对象的方式

1、默认使用无参构造的方式,验证下:

public class User {
    private String name;

    public User(){
        System.out.println("这是一个无参构造方法");
    }

    public String getName() {
        return name;
    }

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

    public void show(){
        System.out.println("name="+name);
    }
}
 <bean id="user" class="com.kuang.pojo.User">
        <property name="name" value="yamiya无参"/>
 </bean>

2、使用有参构造方法

public class User {
    private String name;

//    public User(){
//        System.out.println("这是一个无参构造方法");
//    }
    public User(String name){
        this.name=name;
        System.out.println("这是一个有参构造方法");
    }
    public String getName() {
        return name;
    }

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

    public void show(){
        System.out.println("name="+name);
    }
}

1)下标赋值

    <bean id="user" class="com.kuang.pojo.User">
        <constructor-arg index="0" value="下标赋值"/>
    </bean>

2)类型赋值

不建议使用,如果两个字段类型相同就没法用了。

<!--基本类型可以直接写,引用类型要写全-->
    <bean id="user" class="com.kuang.pojo.User">
        <constructor-arg type="java.lang.String" value="类型赋值"/>
    </bean>

3)直接通过参数设置

   <bean id="user" class="com.kuang.pojo.User">
        <constructor-arg name="name" value="直接通过参数来设置"/>
    </bean>

在配置文件被加载时,容器中管理的对象就已经初始化了,即使你没用到它。

posted @ 2020-03-07 11:55  yamiya  阅读(296)  评论(0编辑  收藏  举报