java - 使用 ClassPathXmlApplicationContext 创建 Spring 数据连接类

标签 java spring spring-mvc

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

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

感谢任何帮助、建议。

谢谢 沃克

最佳答案

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

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

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

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

您不应手动使用应用程序上下文。相反,Spring 使用 dependency injection 连接您的应用程序。并且您的所有对象( Controller 、daos 等)都有其依赖项,无需在某些上下文中“到达”它们。

关于java - 使用 ClassPathXmlApplicationContext 创建 Spring 数据连接类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2494785/

相关文章:

java - 我如何继承 ByteBuffer?

java - Spring 交易超时

java - worker 自动分配排队系统

java - 如何使用上次关闭的设置启动应用程序?

Spring Security OAuth 2.0 - 授权代码授予始终需要客户端 secret

java - Spring 端到端测试,包括使用 MockHttpServletRequest 的过滤器和 Controller 方法

java - 如何将渲染的 jsp View (html)作为 json 字段返回?

java - 使用 Spring MVC 和 Spring Security 填充基于用户角色的模型

java - 在一个文档中打印两个 Jpanel

java - 无法使用 spring 5 Autowiring hibernate 5 sessionfactory