使用ClassPathXmlApplicationContext创建spring数据连接类

时间:2010-03-22 18:34:12

标签: java spring spring-mvc

我是春天新手,我目前正在使用ClassPathXmlApplicationContext 到控制器类内的getBean。这是一个小例子应用程序 我正在建设。但我想要做的就是移动它 ClassPathXmlApplicationContext 到一个新类并在应用程序中保持静态。所以我可以打电话 newclass在构造函数中调用DAO。 我尝试了一些事情,但我一直都遇到NestedServletException错误。

请建议我编写一个新的数据连接类的方法 在我的应用程序中保持相同的状态,即我可以在每个内部调用 控制器类,而不是每次都在构造函数中创建DAO对象。

感谢任何帮助,建议。

感谢 沃克

1 个答案:

答案 0 :(得分:2)

正如我从异常名称中假设的那样,您正在谈论Web应用程序。在这种情况下,您无需创建应用程序上下文。 Spring有其内置机制。例如,使用监听器(在web.xml

<listener>
    <listener-class>
        org.springframework.web.context.ContextLoaderListener
    </listener-class>
</listener>

因此所有的bean都会在春天自动连接(当然,如果配置正确)。

您仍然可以通过实施ApplicationContextAware或通过callign WebApplicationContextUtils.getRequiredWebApplicationContext()来获取上下文,但在一般情况下您不需要这样做。

您不应手动使用应用程序上下文。相反,spring使用dependency injection连接您的应用程序,并且所有对象(控制器,daos等)都具有相关性,而无需在某些上下文中“覆盖”它们。