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

Spring+Hibernate+Struts整合文档(SSH)

2012-11-16 14:55 281 查看
一、Spring+Struts2整合:

1、spring配置在web.xml文件中的上下文监听器:

<listener>
<listener-class>org.springframwork.web.content.ContextLoaderListener</listener-class>
</listener>

<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext*.xml</param-value>
</context-param>

2、struts2配置在web.xml文件中的过滤器:

<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>

<filter-mapping>
<filter-name>struts2</filter-name>
<url-patter>/*</url-patter>
</filter-mapping>

3、设置struts.xml文件,就可以使用spring的IOC来管理struts的Action:

默认的的就是spring,可以不写

<content name=“struts.objectFactory” value=“spring” >

4、第三步设置后,以后在struts.xml 文件中配置一个action时,它的class就不是一个类了,而是在applicationContext.xml文件中定义过的类的ID,在struts.xml文件中就只需要引用定义好的类的id 就可以了。

特别要注意的一个问题:action是一个请求就是一个action对象,而在spring中则不是的,它是自动分配类的实例的,是使用的单态模式来生 产类的实例的,不符合action,因此在applicationContext.xml文件中定义每个action时,都要在类后加上:

scope=“prototype” 属性

二、Spring+Hibernate整合:

Spring整合Hibernate,是做了一个很大的调整的,因为spring可以把管理Hibernate的工作都做了,以前的hibernate.cfg.xml文件都去掉了,而将这些内容都交给了spring来管理了。

1、 applicationContext.xml文件中应该配置如下内容:

//配置数据连接类
<bean id=“dataSource” lass=“org.apache.commons.dbcp.BasicDataSource”>
<property name=“driverClassName” value=“org.gjt.mm.mysql.Driver”></property>
<property name=“url” value=“jdbc:mysql://localhost:3306/test”></property>
<property name=“username” value=“root”></property>
<property name=“password” value=“root”></property>
</bean>

//配置session工厂类
<bean id=“sessionFactory” class=“org.springframework.orm.hibernate3.LocalSessionFactoryBean”>
<property name=“dataSource”>
<ref bean=“dataSource” />
</property>
<property name=“hibernateProperties”>
<props>

<prop key=“hibernate.dialect”>org.hibernate.dialect.MySQLDialect</prop>
<prop key=“hibernate.show_sql”>true</prop>
</props>

</property>
<property name=“mappingResources”>
<value>com/hejianjiao/vo/Person.hbm.xml</value>
</property>
</bean>

2、可以使用spring中的HibernateDAOSupport与HibernateTemplate类来进行数据持久化操作:

A、HibernateDAOSupport类中定义了对session、sessionFactory的操作方法getHibernateTemplate方法来获得一个HibernateTemplate实例;

B、HibernateTemplate类中定义了对数据持久化的各种封装的方法,我们可以用它来对数据进行操作。

因此在使用时,我们可以继承HibernateDAOSupport类,然后实例化HibernateTemplate类来进行数据持久化。

三、三者组合开发:

一般在组合开发时,没有什么难的,只要把上面两步做好就可以是三个组合开发了。

对于进行组合开发时,一般使用的系统架构:

1、 先从最底层开发,先开发POJO类,和Hibernate映射文件。它相当于系统的数据库层。

2、再开发DAO层,它是对于数据进行持久化的一层,专门处理各种数据增、删、改、查的功能。并且使用DAO工厂模式,以保证和上层没有任何的联系,并且可以方便于类与接口的扩展。

3、第三是开发manager层,它相当于软件的业务逻辑层,即专门处理各种业务逻辑。实现系统的业务处理功能。并且它隔离事务,使与下层的数据持久和上层的数据操作没有任何的联系。

4、 Action层,也即软件的表示层,处理action的接收与回复。各action由spring管理。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: