我在应用程序中升级Spring版本时遇到的问题很少。
在遗留代码中,我们使用BeanFactoryLocator来获取主要上下文(注册表),其中定义了所有其他上下文。在我按名称获取BeanFactoryReference之后。
BeanFactoryLocator beanFactoryLocator = DefaultLocatorFactory.getInstance(k.getSelector() // name of the main context, kind of registry for other contexts);
BeanFactoryReference factoryRef = beanFactoryLocator.useBeanFactory(k.getFactoryName() // name of the concrete context xml);
BeanFactory factory = new FactoryWrapper(factoryRef.getFactory(), k.getFactoryName());
return factory;
在Spring 5.0中,没有BeanFactoryLocator,DefaultLocatorFactory对象。我怎么能以另一种方式实现呢?
答案 0 :(得分:0)
关于使用beanFactoryLocator的过时机制有一个有趣的讨论here,Juergen Hoeller建议使用
一个或多个ApplicationContexts的自定义静态持有者类, 用一个对你的用例有意义的东西,并用一个 适当的生命周期。