1. 组合Hibernate 与Spring
1.1. 现在是创建一个新的项目,就要创建数据库
在oracle中创建一个product 的表,创建表的SQL如下
CREATE TABLE PRODUCT
(
ID NUMBER NOT NULL PRIMARY KEY,
NAME VARCHAR2(64),
PRICE VARCHAR2(64),
TYPE VARCHAR2(64),
);
1.2. 在Eclipse 中,新建一个Web project
1.3. 给项目增加Spring开发能力,增加spring相关类库到当前项目的lib,同时也提供了applicationContext.xml文件,注意:最好把applicationContext.xml文件保存到当前项目的WebRoot/WEB-INF的根目录下
1.4. 给项目增加Hibernate开发能力,增加Hibernate相关类库到当前项目的lib,同时用applicationContext.xml文件代替hibernate,cfg.xml.
1.5. 通过MyEclipse的向导方式,生产POJO类和映射文件。
l 通过Show Views 找到DB Browser。
l 选择user,单击右键,选择”Hibernate Revese Engineering..”。
l java src folder 选择正确工程下的:src,下面可以选择产生抽象的类abstract class,也可以不产生;hibernate3中可以选择产生DAO,也可以不选择,然后单击“Next”。
l 选择hibernate types,ID genrator 选择“native”。
添加后目录
这时applicationContext.xml中,自动添加上了mappingResources
<property name="mappingResources">
<list>
<value>com/cnkf/template/pojo/Product.hbm.xml</value></list>
</property>
1.6. 添加好实体类,添加DAO类、Service类和相应的接口,
1.7. 修改applicationContext.xml,添加dao和service配置。
<bean id="dao"
class="com.cnkf.template.dao.ProductDAOImpl">
<property name="sessionFactory" >
<ref bean="sessionFactory"/>
</property>
</bean>
<bean id="productServ"
class="com.cnkf.template.service.ProductServImpl">
<property name="dao" >
<ref bean="dao"/>
</property>
</bean>
2. 在组合struts2 ,完成struts,hibernate,spring三者的组合。
2.1. 修改web,.xml,增加struts 所需的过滤器配置
<!--在部署之前,先清除环境,如不加,查看视频是会找不到资源-->
<filter-name>struts-cleanup</filter-name>
<filter-class>
org.apache.struts2.dispatcher.ActionContextCleanUp
</filter-class>
</filter>
<!--部署filter的名称以及对应的类-->
<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.FilterDispatcher
</filter-class>
</filter>
<!--部署filter的对应的URL模式-->
<filter-mapping>
<filter-name>struts-cleanup</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.jsp</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.htm</url-pattern>
</filter-mapping>
项目中还可能用到其他的过滤器,开发中自行添加
2.2. 添加struts2必须的类库,增加struts2-spring-plugin-x-x-x.jar文件,
(commons-logging-1.0.4.jar,freemarker-2.3.12.jar,ognl-2.6.11.jar,struts2-core-2.1.2.jar,xwork-2.1.1.jar)
2.3. 需要拷贝struts.xml, struts.properties到src目录下,然后进行修改
struts.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<!--需要用到struts-default.xml的配置,就必须加载-->
<include file="struts-default.xml"/>
<package name="default" extends="struts-default" >
</package>
<!--struts属性的设置-->
<constant name="struts.objectFactory" value="spring" />
<!-- 此处用constant元素定义常量 -->
<constant name="struts.devMode" value="true"/>
<!-- 定义资源文件的位置和类型 -->
<constant name="struts.custom.i18n.resources" value="properties/myMessages"/>
<!-- 设置应用使用的解析码 -->
<constant name="struts.i18n.encoding" value="UTF-8"/>
<!-- 设置应用使用的上传解析器类型 -->
<constant name="struts.multipart.parser" value="jakarta"/>
<!-- 指定使用按type的自动装配策略 -->
<constant name="struts.objectFactory.spring.autoWire" value="name"/>
</struts>
struts.properties
struts.locale=en_GB
有需要在添加。
2.4. 修改web,.xml,增加spring的监听器和上下文变量
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext*.xml</param-value>
</context-param>
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
2.5. 修改web,.xml,增加OpenSessionInViewFilter的设置
<filter>
<filter-name>lazyLoadingFilter</filter-name>
<filter-class> org.springframework.orm.hibernate3.support.OpenSession InViewFilter
</filter-class>
分享到:
相关推荐
集成hibernate3.6.8+spring3.0.6+struts2.2.3.1实例 集成hibernate3.6.8+spring3.0.6+struts2.2.3.1实例
struts1.2+spring2.0+hibernate3.1 小实例 学习者可参考本例子学习,非常好!
struts1.2+spring2.0+hibernate3.1框架整合实例 part2 part1地址:http://download.csdn.net/source/1555175
导入Struts2, Spring 2.5 , Hibernate3.1开发包
一个学习ssh非常好的实例:Struts1.2+Spring1.2+HIbernate3.1整合示例代码
采用在web.xml中加载spring配置文件的方法降低struts和spring的耦合度,使用自定义的MyDelegatingRequestProcessor类来代替spring的DelegatingRequestProcessor类来解决spring中action的bean的重复配置问题。...
eclipse整合Struts1.2 + hibernate3.1 + spring2.0 相关链接:http://blog.csdn.net/shellwin/archive/2010/07/02/5708865.aspx
一个struts2+spring+hibernate+dwr的小实例,不过木有搭建说明,不过有dwr的使用说明,至于表结构可以看映射配置文件就知道创建什么表了
struts2.0+hibernate3.1+spring2.0实例源码里的jar2 这个只是lib.jar 源码已经发送 源文件 在我的资源中
在本文中,笔者将Struts2.0.6、Spring2.0.6和Hibernate3.1进行整合,希望通过这样的整合示例,让读者了解这些框架各自的特点,以便于在自己的项目中,根据实际情况,尽快的过渡到Struts2的时代。本文的内容基于...
采用struts2+spring+hibernate框架 实现简单的增删改功能,适合ssh框架初学者学习
Struts2.5+Hibernate3.1+Spring应用开发实例(图).pdf
自己最近在研究Struts2.5+Hibernate3.1+Spring的应用,好不容易调通了这个程序,现在跟大家一起分享,本文件提供了开发实例文档及实例工程,该java project是在myeclipse平台上面实现的,实例展示了hibernate如何与...
这是一个struts2+hibernate+spring整合的实例,带有分页功能,希望对刚接触struts2的朋友有些帮助。spring2.0,hibernate3.1分页用的是自字义标签,不要少了这个包standard.jar
Struts2.1+Hibernate3.4+Spring2.0组合实例不包含jar包 博文链接:https://zmx.iteye.com/blog/477423
学习 时候写的ssh2源码,注释详细 希望能够给框架整合的初学者带来帮助 jar包分开免费发送
由于jar包大只能分开免费发送 结合上源码 这个只是lib.jar 源码我已经发送
在本文中,笔者将Struts2.0.6、Spring2.0.6和Hibernate3.1进行整合,希望通过这样的整合示例,让读者了解这些框架各自的特点,以便于在自己的项目中,根据实际情况,尽快的过渡到Struts2的时代。本文的内容基于...
完整的SSH实例,包括了3部分,第一部分为struts2,第二部分hibernate,第三部分为spring整合。