我的主要Spring上下文是在我的应用程序启动时创建的。在此上下文中是数据库连接和嵌入式Web服务器。
然后使用具有自己的Spring Context的DispatcherServlet
启动嵌入式Web服务器。
从其中一个DispatcherServlets,我希望访问数据库,但由于连接不在其上下文中,我不能。
解决此问题的Java / Spring方法是什么?
这是我的 web.xml :
<servlet>
<servlet-name>App</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:/jettycontext.xml</param-value>
</init-param>
</servlet>
这是入口点主要方法:
try (ConfigurableApplicationContext context = new GenericXmlApplicationContext("maincontext.xml")) {
JServer server = context.getBean(JServer.class);
server.start();
}
这是 JServer.start()方法:
server = new Server(8080);
server.setHandler(new WebAppContext("./webapp", "/"));
server.start();
server.join();
答案 0 :(得分:0)
尝试添加
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:maincontext.xml</param-value> <!-- or wherever else you have the maincontext.xml file-->
</context-param>
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
到web.xml