码迷,mamicode.com
首页 > 编程语言 > 详细

Strut2 spring hibernate 整合

时间:2014-08-25 11:41:14      阅读:329      评论:0      收藏:0      [点我收藏+]

标签:blog   http   os   使用   io   strong   文件   for   数据   

 一、创建web项目工程 wzz

      bubuko.com,布布扣

点击finish

 

2、添加spring Jar包   AOP,Core,Persistence Core ,web jar

     bubuko.com,布布扣

 

点击next

 

bubuko.com,布布扣

 点击Finish

3、配置Database Driver

     bubuko.com,布布扣

     我使用的是JTDS jar包,jtds在配置url地址时与使用sql Seriver的url地址有点不太一样,然后直接点击Finish即可

 

4、添加hibernate 配置

 

     bubuko.com,布布扣

 

    点击next

    

    bubuko.com,布布扣

 

    选择bubuko.com,布布扣使用Spring的applicationContext.xml,点击next

    bubuko.com,布布扣

    选择Existing Spring configuration file  ,在填写SessionFactory ID ,点击next

    bubuko.com,布布扣

    点击next

     bubuko.com,布布扣

     不创建sessionFactory,使用spring的sessionFactory点击Finish

 

 

     完成后

[c-sharp] view plaincopy
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <beans xmlns="http://www.springframework.org/schema/beans"  
  3.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  4.     xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">  
  5.   
  6.   
  7.     <bean id="dataSource"  
  8.         class="org.apache.commons.dbcp.BasicDataSource">  
  9.         <property name="driverClassName"  
  10.             value="net.sourceforge.jtds.jdbc.Driver">  
  11.         </property>  
  12.         <property name="url"  
  13.             value="jdbc:jtds:sqlserver://localhost:1433/wzdb">  
  14.         </property>  
  15.         <property name="username" value="sa"></property>  
  16.         <property name="password" value="123"></property>  
  17.     </bean>  
  18.     <bean id="sessionFactory"  
  19.         class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">  
  20.         <property name="dataSource">  
  21.             <ref bean="dataSource" />  
  22.         </property>  
  23.         <property name="hibernateProperties">  
  24.             <props>  
  25.                 <prop key="hibernate.dialect">  
  26.                     org.hibernate.dialect.SQLServerDialect  
  27.                 </prop>  
  28.             </props>  
  29.         </property>  
  30.     </bean>  
  31. </beans>  

这是application.xml自动添加的文件配置,

    现在修改web.xml,

 

    <!-- spring的应用上下文 -->
   <context-param>
         <param-name>contextConfigLocation</param-name>
         <param-value>/WEB-INF/spring/applicationContext.xml</param-value>
   </context-param>
 
  <!-- spring的监听器,以便在启动时就自动加载spring的配置 -->
  <listener>
       <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
 </listener>
 <!-- 编码过滤 -->
 <filter>
     <filter-name>encodingFilter</filter-name>
     <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
     <init-param>
        <param-name>encoding</param-name>
        <param-value>UTF-8</param-value>
     </init-param>
     <init-param>
       <param-name>forceEncoding</param-name>
       <param-value>true</param-value>
     </init-param>
 </filter>
 <filter-mapping>
  <filter-name>encodingFilter</filter-name>
  <url-pattern>/*</url-pattern>
 </filter-mapping>

 

   ------------------------------------------------------------------------------------------------------------------------------

 

 用database Explorer视图,利用数据库中的表反射出实体类和实体类与数据库表的映射

 

  bubuko.com,布布扣

 

  选择项目及实体类和映射文件存放路径,点击next

 

 bubuko.com,布布扣

 

 在id Generator 中选择native ,主键生成方式为自动增长,点击finish,spring的配置文件applicationContext.xml中sessionFactory bean会发生变化,新增<property name="mappingResources"><list><value>com/aweb/entity/DicAnimal.hbm.xml</value>
</list></property>配置,把刚才反射时生成的实体类反射文件添加到sessionFactory的mappingResources中。

 

在applicationConext.xml中添加事务

 

<!-- 配置事务管理 -->
 <bean id="transactionManager"
  class="org.springframework.orm.hibernate3.HibernateTransactionManager">
  <property name="sessionFactory" ref="sessionFactory" />
 </bean>

 <tx:advice id="txAdvice" transaction-manager="transactionManager">
  <tx:attributes>
   <!--propagation表示的是事务的传播特性,使用required时,是当检测到add开头的方法时,就看此时有没有开启的事务,如果有则将方法放进事务中去,如果没有,则新建一个事务。然后将方法放进去。-->
   <tx:method name="save*" propagation="REQUIRED" />
   <tx:method name="del*" propagation="REQUIRED" />
   <tx:method name="update*" propagation="REQUIRED" />
   <tx:method name="batch*" propagation="REQUIRED" />
   <!--如果检测到其它的方法,则给其只读数据库的属性。即当本方法在读时,其它的方法不能再去写了。保证一个事务的完整性-->
   <tx:method name="*" read-only="true" />
  </tx:attributes>
 </tx:advice>

 

 

asm-2.2.3.jar 与asm.jar有冲突,可以创新下载asm Jar包或把asm-2.2.3.jar删除也可

 

 到此spring与hibernate集成已经完成。

 

配置strut2

 

添加struts2的Jar包  xwork-core-2.2.1.1.jar,struts2-core-2.2.1.1.jar,ognl-3.0.jar ,freemarker-2.3.16.jar

 

修改web.xml配置文件,增加struts2的过滤器配置

<!-- struts2过滤器 -->
 <filter>
  <filter-name>struts2</filter-name>
  <filter-class>
   org.apache.struts2.dispatcher.FilterDispatcher
  </filter-class>
 </filter>
 <filter-mapping>
  <filter-name>struts2</filter-name>
  <url-pattern>/*</url-pattern>
 </filter-mapping>

 

在src目录下新增struts.xml文件,struts2 spring hibernate配置完成

 

 

------------------------------------------------------------------------------------------------------------------------------------------------------

 

可以使用spring的HibernateDaoSupport类执行持久化操作:

 

package com.aweb.util;

import org.springframework.orm.hibernate3.support.HibernateDaoSupport;

public class BaseDao<T> extends HibernateDaoSupport {
 public void save(T t){
  getHibernateTemplate().save(t);
 }
}

Strut2 spring hibernate 整合

标签:blog   http   os   使用   io   strong   文件   for   数据   

原文地址:http://www.cnblogs.com/henuyuxiang/p/3934533.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!