一、普通bean
- 之前用到的都是普通的bean,即在xml文件中一个<bean id="类A" class="全类名"></bean>代表着一个类A的对象
ApplicationContext context = new ClassPathXmlApplicationContext("bean.xml");
类A user = context.getBean("类A",类A.class);
- 上面获取到的user也一定是类A的对象,这是普通bean的特点
二、工厂bean
- 如果我想通过上述方式获取一个不是类A的对象,就用到了工厂bean
1.定义一个myBean类,实现FactoryBean接口的三个方法如下
2.public Object getObject() 在这个方法里定义你想要返回的bean类型(但是需要对这个方法的返回值类型改写成想要返回的类型)
1.先定义一个School类
2.改写public Object getObject() 后的myBean类
注意其返回值类型从Object变成了School
3.
4.测试:从myBean类的对象标签中获得了School类的对象