在春季5与孩子分享春季父母的背景

时间:2019-01-08 05:53:55

标签: spring spring-mvc

如何在5月春季与孩子分享父母的环境?

使用春季4,我们可以将locatorFactorySelector传递为context-param

<context-param>
    <param-name>locatorFactorySelector</param-name>
    <param-value>classpath:refFactory.xml</param-value>
</context-param>

此支持从Spring 5开始被删除。在Web上下文中传递父上下文的替代方法是什么?

1 个答案:

答案 0 :(得分:2)

基于locatorFactorySelector的父上下文的加载在ContextLoader#loadParentContext()处进行了处理。但是他们在此commit中将其更改为return null

正如javadoc所说,我认为您可以创建一个新的ContextLoaderListener并重写此方法以返回父上下文:

public class FooContextLoaderListener extends ContextLoaderListener{

    @Override
    protected ApplicationContext loadParentContext(ServletContext servletContext) {
        //load and return the parent context ......
    }

}

然后使用此ContextLoaderListener启动Spring:

<listener>
    <listener-class>org.foo.bar.FooContextLoaderListener</listener-class>
</listener>