gpt4 book ai didi

java - Spring 看不到 servlet-context 和 contextConfigLocation bean 之间的 bean

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:14:42 25 4
gpt4 key购买 nike

我有一个像这样设置的 spring mvc 项目:

<servlet>
<servlet-name>appServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/spring-contexts/servlet-context.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>

<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/spring-contexts/configuration-context.xml</param-value>
</context-param>

如果我在 configuration-context.xml 中创建一个 bean 并在 servlet-context.xml 中引用一个 bean,它似乎找不到它。这些是作为两个不同的上下文创建的吗?为什么会发生这种情况/一般情况下是这样工作的?

最佳答案

是的,有两个上下文相互堆叠(父上下文和子上下文)。

来自 DispatcherServlet (servlet-context.xml) 的 beans 可以访问来自 ContextLoaderListener (configuration-context.xml) 的 beans,但反之则不行.

所以把基本的东西放在 configuration-context.xml 和 web 相关的一次到 servlet-context.xml

@另见堆栈溢出问题:ContextLoaderListener or not?

关于java - Spring 看不到 servlet-context 和 contextConfigLocation bean 之间的 bean,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9531428/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com