package com.fs.factory;
import com.fs.entity.Teacher;
public class staticFactory {
//生产Teacher类bean
public static Teacher staticBean()
{
/*//还可以返回Student类bean
return new Student();*/
return new Teacher();
}
}
package com.fs.test;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class MainApp02 {
public static void main(String[] args) {
//使用IoC容器(ApplicationContext)获取spring容器管理的bean对象
//1.创建容器对象。实例化时参数指定对应的配置文件
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("springBean.xml");
//2.通过<bean>标签的唯一标识id获取对应UserDao接口的实现类"UserDaoImpl"的实例对象
Object obj = context.getBean("staticFactory");
System.out.println(obj);
}
}
运行结果如下。得到Teacher类型的bean。
2、<bean>指定spring容器管理的类创建静态方法并提供实例化bean。
Student类。内含静态方法(生产指定类型的bean)
java复制代码
package com.fs.entity;
public class Student {
//指定静态方法生产Student类的bean
public static Student staticBean() {
return new Student();
}
/*//指定静态方法生产Student类的bean
public static Teacher staticBean() {
return new Teacher();
}*/
}