这三种方式分别为:使用静态工厂创建对象,使用实例工厂创建对象,使用无参构造函数创建对象。下面见代码:
静态工厂创建对象:
package cn.itcast.beans;
public class Bean1 {
public void add(){
System.out.println("bean1 ........");
}
}
package cn.itcast.beans;
public class Bean1_factory {
public static Bean1 getBean(){
return new Bean1();
}
}
实例工厂创建对象:
package cn.itcast.beans;
public class Bean2 {
public void add(){
System.out.println("bean2 ........");
}
}
package cn.itcast.beans;
public class Bean2_factory {
public Bean2 getBean(){
return new Bean2();
}
}
无参工造函数创建对象:
package cn.itcast.beans;
public class Bean3 {
public void add(){
System.out.println("bean3 ........");
}
}
package cn.itcast.beans;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class Test {
public static void main(String[] args){
ApplicationContext context =
new ClassPathXmlApplicationContext("beans01.xml");
Bean1 b1 = (Bean1)context.getBean("bean1");
Bean2 b2 = (Bean2)context.getBean("bean2");
Bean3 b3 = (Bean3)context.getBean("bean3");
b1.add();
b2.add();
b3.add();
System.out.println(b1);
System.out.println(b2);
System.out.println(b3);
}
}
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<!-- 使用静态工厂创建对象 -->
<bean id="bean1" class="cn.itcast.beans.Bean1_factory"
factory-method="getBean">
</bean>
<!-- 使用实例工厂创建对象 -->
<bean id="bean2_fcty" class="cn.itcast.beans.Bean2_factory">
</bean>
<bean id="bean2" factory-bean="bean2_fcty" factory-method="getBean">
</bean>
<!-- 使用无参构造函数创建对象 -->
<bean id="bean3" class="cn.itcast.beans.Bean3">
</bean>
</beans>
项目目录截图: