package com.hao.config;
import com.hao.bean.ColorFactoryBean;
import com.hao.bean.Person;
import com.hao.condition.LinuxCondition;
import com.hao.condition.MacOSXCondition;
import org.springframework.context.annotation.*;
@Configuration
public class MainConfig2 {
@Bean
public ColorFactoryBean colorFactoryBean() {
return new ColorFactoryBean();
}
}
package com.hao.bean;
import org.springframework.beans.factory.FactoryBean;
public class ColorFactoryBean implements FactoryBean<Color> {
public Color getObject() throws Exception {
System.out.println("ColorFactoryBean---getObject");
return new Color();
}
public Class<?> getObjectType() {
return Color.class;
}
public boolean isSingleton() {
return false;
}
}
@Test
public void test02() {
ApplicationContext applicationContext = new AnnotationConfigApplicationContext(MainConfig2.class);
System.out.println("ioc容器创建完成");
String[] beanDefinitionNames = applicationContext.getBeanDefinitionNames();
for(String name: beanDefinitionNames) {
System.out.println(name);
}
Object colorFactoryBean = applicationContext.getBean("colorFactoryBean");
Object colorFactoryBean1 = applicationContext.getBean("colorFactoryBean");
System.out.println(colorFactoryBean.getClass());
System.out.println(colorFactoryBean1.equals(colorFactoryBean));
Object bean = applicationContext.getBean("&colorFactoryBean");
System.out.println(bean.getClass());
}