使用网络在春季加载上下文.xml
2022-08-31 14:16:01
有没有办法在Spring MVC应用程序中使用web.xml加载上下文?
来自春季文档
Spring可以很容易地集成到任何基于Java的Web框架中。您需要做的就是在 Web 中声明 ContextLoaderListener.xml并使用 contextConfigLocation 来设置要加载的上下文文件。
这:<context-param>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext*.xml</param-value>
</context-param>
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
然后,您可以使用 WebApplicationContext 来获取 Bean 的句柄。
WebApplicationContext ctx = WebApplicationContextUtils.getRequiredWebApplicationContext(servlet.getServletContext());
SomeBean someBean = (SomeBean) ctx.getBean("someBean");
您还可以指定相对于当前类路径的上下文位置,这可能更可取
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:applicationContext*.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>