作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我们使用的是 4.2.x 版本的 spring,我们使用 ContextSingletonBeanFactoryLocator 来加载 bean,如下所示
BeanFactoryLocator bfLocator = ContextSingletonBeanFactoryLocator.getInstance("classpath:customBeanRefFactory.xml");
BeanFactoryReference ref = bfLocator.useBeanFactory("sharedApplicationContext");
BeanFactory beanFactory = ref.getFactory();
((AbstractApplicationContext) beanFactory).getBeanFactory().setBeanClassLoader(CustomSpringBeanFactory.class.getClassLoader());
return (ApplicationContext) beanFactory
@Configuration
@ImportResource("classpath:ourxml")
public class OurApplicationConfiguration {
}
public class OurAppicationFactoryProvider {
ApplicationContext context;
public ApplicationContext getApplicationContext() {
if (context == null) {
synchronized (this) {
if (context == null) {
context = new AnnotationConfigApplicationContext(OurApplicationConfiguration.class);
}
}
}
return context;
}
}
最佳答案
在我基于 BeanFactoryLocator/beanRefContext.xml
的遗留应用程序中https://jira.spring.io/browse/SPR-15154中提到的机制, 我加了一个 Singleton
类来创建应用程序上下文并使用该上下文。我的代码是
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public enum SpringContextUtil {
INSTANCE;
ApplicationContext context;
public ApplicationContext getApplicationContext() {
if (context == null)
context = new ClassPathXmlApplicationContext("classpath*:beanRefContext.xml");
return context;
}
}
final BeanFactoryReference ref = ContextSingletonBeanFactoryLocator.getInstance().useBeanFactory(contextKey);
AbstractApplicationContext context = ((AbstractApplicationContext) ref.getFactory());
AbstractApplicationContext context = (AbstractApplicationContext)SpringContextUtil.INSTANCE.getApplicationContext().getBean(contextKey);
关于spring - spring 5 中的 ContextSingletonBeanFactoryLocator 替代方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48436555/
我们使用的是 4.2.x 版本的 spring,我们使用 ContextSingletonBeanFactoryLocator 来加载 bean,如下所示 BeanFactoryLocator bfL
我是一名优秀的程序员,十分优秀!