【问题标题】:creating a spring data connection class using ClassPathXmlApplicationContext使用 ClassPathXmlApplicationContext 创建 spring 数据连接类
【发布时间】:2010-03-22 18:34:12
【问题描述】:

我是 spring 新手,我目前正在使用 ClassPathXmlApplicationContext 到控制器类中的getBean。这是一个小示例应用程序 我正在建造。但我想做的是移动这个 ClassPathXmlApplicationContext 到一个新类并在整个应用程序中保持静态。所以我可以打电话 newclass 来调用 DAO 内部构造函数。 我尝试了一些方法,但我一直收到NestedServletException 错误。

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

感谢任何帮助、建议。

谢谢 沃克

【问题讨论】:

    标签: java spring spring-mvc


    【解决方案1】:

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

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

    所以你所有的 bean 都会被 spring 自动连接(当然,如果配置正确的话)。

    您仍然可以通过实现ApplicationContextAware 或调用WebApplicationContextUtils.getRequiredWebApplicationContext() 来获取上下文,但在一般情况下您不应该需要它。

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

    【讨论】:

    • 感谢 Bozho 的快速回复。我认为这将解决我的问题。我会试一试。谢谢:)
    猜你喜欢
    • 2014-05-16
    • 1970-01-01
    • 1970-01-01
    • 2011-03-01
    • 1970-01-01
    • 2018-03-18
    • 2011-11-21
    • 2016-02-28
    • 1970-01-01
    相关资源
    最近更新 更多