您的位置:首页 > 编程语言 > Java开发

spring整合hibernate、struts2

2017-03-06 19:37 381 查看
spring对Hibernate提供的支持主要包括:

将hibernate需要用到的数据源DataSource(如BasicDataSource数据源或C3P0连接池数据源)、hibernate的SessionFactory实例及其事务管理器HibernateTransactionManager移交给spring容器管理。

完成spring和Hibernate框架添加后,Hibernate配置信息被写在spring配置文件applicationContext.xml中:

<!-- 定义BasicDataSource数据源 -->

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">······

<!-- 定义Hibernate的SessionFactory -->

<bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">

<!-- 将上面的数据源dataSource注入到LocalSessionFactoryBean类的sessionFactory属性 -->

<property name="dataSource"><ref bean="dataSource">····

spring整合struts2主要是为了让struts2中的Action实例可以访问spring容器中定义的业务逻辑组件资源,同时将Action的实例化和依赖注入的工作交给spring容器统一管理。

创建Action,Action中用UserBiz声明一个属性,添加set方法用于依赖注入

spring整合struts2步骤:

①spring配置文件applicationContext.xml中部署struts2的Action,由于struts2在处理请求时,每个不同的请求均会生成一个相应的Action实例负责处理,因此,在配置时,需要使用prototype原型模式,以确保每次的Action实例是新的。

<bean id="umAction" class="com.ssh2.action.UserManagerAction" scope="prototype">

<property name="userBiz" ref="userBiz" />

</bean>

②在struts2配置文件struts.xml中配置Action的映射,class属性不再使用类的全名,而是使用applicationContext.xml中定义的Action的Bean实例名称:

<package name="default" extends="struts-default">

<action name="doLogin" class="umAction">

<result name="error">error.jsp</result>······

③在给项目添加spring支持时,web.xml自动生成了一段配置信息,让web程序启动时自动装载spring容器:

<listener>

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

</listener>

<!-- 指定配置文件位置 -->

<context-param>

<param-name>contextConfigLocation</param-name>

<param-value>classpath:applicationContext.xml</param-value>

④编写登录页面login.jsp:

<s:form action="doLogin.action">

···<s:textfield name="loginName" label="用户名" />

···<s:textfield name="loginPwd" label="密码" />

···<s:submit value="确认" />···

部署项目,启动Tomcat,测试成功。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: