import org.springframework.beans.factory.FactoryBean;
public class MyFactoryBean implements FactoryBean<Color> {
/**
* 返回一个Color对象,这个对象会添加到容器中
*/
@Override
public Color getObject() throws Exception {
// TODO Auto-generated method stub
return new Color();
}
@Override
public Class<?> getObjectType() {
// TODO Auto-generated method stub
return Color.class;
}
//是单例吗?如果是ture:在容器中只会保持一份。如果为false:每次获取只会创建一次。
@Override
public boolean isSingleton() {
// TODO Auto-generated method stub
return true;
}
}
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import com.ceshi.bean.MyFactoryBean;
//配置类==配置文件(xml)
@Configuration //告诉Spring这个一个配制类
public class BeanConfig5 {
/**
* 虽然容器装在的是MyFactoryBean,但是实际调用的时候是Color的类型。如果要获取MyFactoryBean的工厂类,只要加上&便可以。
* @return
*/
@Bean
public MyFactoryBean myFactoryBean(){
return new MyFactoryBean();
}
}