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

Struts2+Spring2.5+Hibernate3.3 整合总结

2009-11-26 12:31 393 查看
1.       导入: (struts2.0+spring)包+

 hibernate3.jar

         antlr-2.7.6.jar

                    commons-collections-3.1.jar

         dom4j-1.6.1.jar

         javassist-3.4.GA.jar

jta-1.1.jar

slf4j-api-1.5.2.jar

slf4j-log4j12-1.5.2.jar

log4j-1.2.15.jar

aspectjrt.jar

aspectjweaver.jar

 

 

2.1将applicationContext.xml剪切到src目录

2.2将applicationContext.xml从命名applicationContext-actions.xml

2.3添加applicationContext-common.xml

2.4添加applicationContext-beans.xml

applicationContext-common.xml

<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"

         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

         xmlns:aop="http://www.springframework.org/schema/aop"

         xmlns:tx="http://www.springframework.org/schema/tx"

         xmlns:lang="http://www.springframework.org/schema/lang"

         xsi:schemaLocation="http://www.springframework.org/schema/beans                                                             http://www.springframework.org/schema/beans/spring-beans-2.0.xsd

          http://www.springframework.org/schema/lang                                                                          http://www.springframework.org/schema/lang/spring-lang-2.0.xsd                                    http://www.springframework.org/schema/tx                                                                        http://www.springframework.org/schema/tx/spring-tx.xsd

          http://www.springframework.org/schema/aop                                                                   http://www.springframework.org/schema/aop/spring-aop.xsd">

 

         <!-- 配置sessionFactory -->

         <bean id="sessionFactory"

                   class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">

                   <property name="configLocation">

                            <value>classpath:hibernate.cfg.xml</value>

                   </property>

         </bean>

 

         <!-- 配置事务管理器 -->

         <bean id="transactionManager"

                   class="org.springframework.orm.hibernate3.HibernateTransactionManager">

                   <property name="sessionFactory">

                            <ref bean="sessionFactory" />

                   </property>

         </bean>

 

         <!-- 配置事物传播特性 -->

         <tx:advice id="txAdvice" transaction-manager="transactionManager">

                   <tx:attributes>

                            <tx:method name="add*" propagation="REQUIRED" />

                            <tx:method name="delete*" propagation="REQUIRED" />

                            <tx:method name="modify*" propagation="REQUIRED" />

                            <tx:method name="*" read-only="true" />

                   </tx:attributes>

         </tx:advice>

 

         <!-- 哪些类的哪些方法参与事物, (* com.evan.crm.service.*.*(..))中几个通配符的含义:

                   第一个 * —— 通配 任意返回值类型

                   第二个 * —— 通配 包com.evan.crm.service下的任意class

                   第三个 * —— 通配 包com.evan.crm.service下的任意class的任意方法

                   第四个 .. —— 通配 方法可以有0个或多个参数

                   综上:包com.evan.crm.service下的任意class的具有任意返回值类型、任意数目参数和任意名称的方法-->

         <aop:config>

                   <aop:pointcut id="allManagerMethod"

                            expression="execution(* com.struts2.service.*.*(..))" />

                   <aop:advisor pointcut-ref="allManagerMethod"

                            advice-ref="txAdvice" />

         </aop:config>

</beans>

 

 

3修改web.xml配置文件:

web.xml

<?xml version="1.0" encoding="UTF-8"?>

<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"

         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee

         http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

         <context-param>

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

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

         </context-param>

 

         <!-- 启动Spring,默认读取WEB-INF目录下的applicationContext.xml -->

         <listener>

                   <listener-class>

                            org.springframework.web.context.ContextLoaderListener

                   </listener-class>

         </listener>

 

         <!--这个过滤器配置,为了将Hibernate的session对象的的关闭和打开交给spring管理, -->

         <filter>

                   <filter-name>hibernateFilter</filter-name>

          <filter-class>

org.springframework.orm.hivernate3.support.OpenSessionInViewFilter

</filter-class>

         </filter>

  
4000
       <filter-mapping>

                   <filter-name>hibernateFilter</filter-name>

                   <url-pattern>*.action</url-pattern>

         </filter-mapping>

 

         <!-- 配置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>

</web-app>

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/salasay/archive/2009/03/03/3954650.aspx
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息