我正在尝试最新的春季5.0.0.Final与我的EAR项目,其中使用 context-param 在 web.xml 中定义了父上下文 使用参数名称 locatorFactorySelector 和 parentContextKey ,但是spring无法加载父上下文。当我检查 ContextLoaderListener 源代码时,似乎没有应用于选择父上下文的逻辑。这里我的问题是,spring 5提供了 ContextLoader 的任何默认实现,它可以满足父上下文或spring 5的加载,如果没有支持这个的方法,我是否必须实现自己的?< / p>
答案 0 :(得分:0)
如果您需要的是所有春季托管课程中的上下文参数,那么您正在寻找ServletContextAware
。
只需实现该类并覆盖其方法即可获取ServletContext
对象。稍后您还可以使用ServletContext
对象获取 context-params 。
查看非常相似的question。
答案 1 :(得分:-1)
显然,定位父上下文的机制已通过 SPR-15154 删除(另请参阅相应的 Github 问题 spring-framework#19720)。
一种解决方法是扩展 org.springframework.web.context.ContextLoaderListener
并重新实现 this stackoverflow answer 中描述的 loadParentContext
方法。
在 Spring 5.x 中可能有更好的方法来解决父上下文加载问题,我仍然需要弄清楚。