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>
不妥之处,请赐教。