【问题标题】:initializing spring and hibernate in a web application在 Web 应用程序中初始化 spring 和 hibernate
【发布时间】:2012-05-03 21:24:55
【问题描述】:
我打算开发一个 Web 应用程序,我想使用 hibernate + spring。在独立应用程序中,为了初始化 hibernate 或 spring,我们将调用工厂对象等。我的意思是创建第一个 spring 或 hibernate bean 是主要功能。
但是在基于 jsp+servlets 和其他 bean 的 web 应用程序中,我不知道谁负责准备 spring 或 hibernate。解决办法是什么?
【问题讨论】:
标签:
java
spring
hibernate
jsp
web-applications
【解决方案1】:
我认为是上下文监听器。在 web.xml 中
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
【解决方案2】:
如果您正在开发基于 JSP + servlet 的应用程序(如果您实际使用 Spring MVC,则无关紧要),您应该在 Spring 配置文件中配置一个 dataSource bean 和一个 SessionFactory bean。然后,在您的应用程序中,您可以在需要的地方自动装配 SessionFactory,并使用它来打开新会话。
【解决方案3】:
在一般的 web 应用程序中,servlet 容器将加载一个名为 web.xml 的文件,您可以在其中启动 web 应用程序所需的配置文件,在您的情况下,context-param 中的 spring 和 hibernate 配置文件和listener 部分。
您应该在 Spring 配置文件中配置 dataSource 和 SessionFactory bean。
然后,从您的 java 类中,您应该 autowire 需要它们的 bean。