Bean有兩種類型:①普通bean(即上一篇所講),②工廠Bean
FactoryBean返回的對象不是指定類的一個實例,其返回的是該工廠bean中的getObject方法所返回的對象
package com.ztt.spring;
import org.springframework.beans.factory.FactoryBean;
public class MyFactory implements FactoryBean<Car>{
@Override
public Car getObject() throws Exception {
Car car = new Car();
car.setBrand("Audi");
car.setPrice(199999.99);
return car;
}
@Override
public Class<?> getObjectType() {
// TODO Auto-generated method stub
return Car.class;
}
@Override
public boolean isSingleton() {
// TODO Auto-generated method stub
return false;
}
}
配置文件:
<bean id="factory" class="com.ztt.spring.MyFactory"></bean>
測試類:
public class testFactoryBean {
public static void main(String[] args){
ApplicationContext ac = new ClassPathXmlApplicationContext("factory-bean.xml");
Object obj = ac.getBean("factory");
System.out.println(obj);
}
}
運行,返回MyFactory中創建的car對象