如何利用spring+springBoot编写工厂模式

@Component
class Factory{
    public T getBean(Object obj){
    return SpringContextUtil.getBean(obj+"Obj");
}
}
@Component
class SpringContextUtil implements ApplicationContextAware{
    
private static ApplicationContext applicationContext;
@Overide
public void setBean(ApplicationContext applicationContext){
SpringContextUtil.applicationContext = applicationContext;
}

public static  T getBean(){
    if(applicationContext.containsBean(beanName)){
    return (T)applicationContext.getBean(beanName);
}else{
    return null;
}
}
}

调用直接注入Factory---调用Factory.getBean(obj);

在每调用的需要工厂的类上@Component("xxxObj")==(obj+"Obj")

你可能感兴趣的:(如何利用spring+springBoot编写工厂模式)