Person類(無有參構造方法):
package com.li.spring;
public class Person {
private String name;
private int age;
public Person(){
System.out.println("初始化構造器");
}
public void setName(String name) {
System.out.println("調用了設置屬性");
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getName() {
return name;
}
public void hello(){
System.out.println("Hello: " + name);
}
@Override
public String toString() {
return "HelloWorld [name=" + name + ", age=" + age + "]";
}
}
1.通過構造函數的創建
1.1通過無參構造函數(默認情況)
<bean id="person" class="com.li.spring.Person" ></bean>
1.2通過有參構造函數(需要在Person添加有參構造方法,同時爲屬性賦值)
<bean id="person" class="com.li.spring.Person" >
<constructor-arg index="0" value="someone"></constructor-arg>
<constructor-arg index="1" value="20"></constructor-arg>
</bean>
2.通過工廠模式創建
package com.li.spring;
public class PersonFactory {
public Person createPerson(){
return new Person();
}
}
xml中:
<bean id="personFactory" class="com.li.spring.PersonFactory"></bean>
<bean id="person" factory-bean="personFactory" factory-method="createPerson"></bean>
3.使用靜態工廠進行創建(在工廠的基礎上直接加上static,不需要創建對象,直接使用)
package com.li.spring;
public class PersonFactory {
public static Person createPerson(){
return new Person();
}
}
xml中:
<bean id="person" class="com.li.spring.PersonFactory" factory-method="createPerson"></bean>
不妥之處,請賜教。