ioc创建对象方式

构造函数注入

User.java

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
package com.ajream.pojo;

public class User {
private String name;

public User(String name){ //构造函数
this.name = name;
}

public String getName(){
return name;
}

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

  1. 下标指定参数

    1
    2
    3
    <bean id="user" class="com.ajream.pojo.User">
    <constructor-arg index="0" value="张三" /> <!-- 0表示第一个参数-->
    </bean>
  2. 变量名指定参数

    1
    2
    3
    <bean id="user" class="com.ajream.pojo.User">
    <constructor-arg name="name" value="李四"/>
    </bean>
  3. 类型指定参数(不建议,有可能多个参数的类型相同)

    1
    2
    3
    <bean id="user" class="com.ajream.pojo.User">
    <constructor-arg type="String" value="王五" />
    </bean>
  4. 构造函数没有参数的话

    1
    2
    <bean id="user" class="com.ajream.pojo.User">
    </bean>

set注入

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
package com.ajream.pojo;

public class User {
private String name;

public void setName(String name){ // set注入
this.name = name;
}

public String getName(){
return name;
}

public void show(){
System.out.println("name: " + name);
}
}
1
2
3
<bean id="user" class="com.ajream.pojo.User">
<property name="name" value="李四"/>
</bean>