`
java_mike
  • 浏览: 85321 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

struts2+spring+hibernate整合的一些配置文件,方便查找使用

阅读更多
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">
	<welcome-file-list>
		<welcome-file>index.jsp</welcome-file>
	</welcome-file-list>


	<!--定义Spring的配置的位置,可以定义多个配置文件,可以使用通配符。  -->
	<context-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>/WEB-INF/applicationContext*.xml</param-value>
	</context-param>
	<!--设置一起动当前的Web应用,就加载Spring,让Spring管理Bean-->
	<listener>
		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
	</listener>
	<!--解决Hibernate延迟加载出现的问题,需要放到struts2过滤器之前-->
	<filter>
		<filter-name>lazyLoadingFilter</filter-name>
		<filter-class>
			org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
	</filter>

	<!--Struts2的过滤器,使用Struts2,必须配置该项 -->
	<filter>
		<filter-name>struts2</filter-name>
		<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
	</filter>

	<!--解决Hibernate延迟加载出现的问题,仍需要放到struts2过滤器mapping之前-->
	<filter-mapping>
		<filter-name>lazyLoadingFilter</filter-name>
		<url-pattern>*.action</url-pattern>
	</filter-mapping>
	<!--Struts2的过滤器,配套的filter-mapping -->
	<filter-mapping>
		<filter-name>struts2</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>
	

</web-app>


applicationContext.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"
       xsi:schemaLocation="
       http://www.springframework.org/schema/beans
       http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
       http://www.springframework.org/schema/tx
       http://www.springframework.org/schema/tx/spring-tx-2.5.xsd
       http://www.springframework.org/schema/aop
       http://www.springframework.org/schema/aop/spring-aop-2.5.xsd" default-lazy-init="true"><!-- 延迟加载bean,加快应用服务器的启动速度 -->

	<!-- 定义数据源的Bean ,提供给Hibernate的sessionFactory-->
	<bean id="dataSource"
		class="org.apache.commons.dbcp.BasicDataSource">
		<property name="driverClassName"
			value="com.mysql.jdbc.Driver">
		</property>
		<property name="url"
			value="jdbc:mysql://127.0.0.1:3306/test">
		</property>
		<property name="username" value="root"></property>
		<property name="password" value="root"></property>
	</bean>
	
	<!-- 定义Hibernate的sessionFactory,通过该Bean,可以获得Hibernate的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.Oracle9Dialect
				</prop>
				<!--设置二级缓冲-->
				<prop key="hibernate.cache.provider_class">
					org.hibernate.cache.EhCacheProvider
				</prop>
				<!--设置二级缓冲,打开查询缓冲-->
				<prop key="hibernate.cache.use_query_cache">true</prop>
				<!--设置显示Hibernate操作的SQL语句-->
				<prop key="hibernate.show_sql">true</prop>
			</props>
		</property>
		<property name="mappingResources">
			<list>				
				<value>
					cn/changtusoft/s2sh_compass/model/Product.hbm.xml
				</value>
			</list>
		</property>
	</bean>
	
	
				<!--======================== 事务配置 ========================-->
	<!-- 配置事务管理器 -->	
	<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
		<property name="sessionFactory">
			<ref local="sessionFactory"/>
		</property>
	</bean>
    
    <!-- 配置事务特性 ,配置add、delete和update开始的方法,事务传播特性为required-->       
    <tx:advice id="txAdvice" transaction-manager="transactionManager">
    	<tx:attributes>
    		<tx:method name="insert*" propagation="REQUIRED"/>
    		<tx:method name="delete*" propagation="REQUIRED"/>
    		<tx:method name="update*" propagation="REQUIRED"/>
    		<tx:method name="*" read-only="true"/>
    	</tx:attributes>
    </tx:advice>
    
    <!-- 配置那些类的方法进行事务管理,当前cn.com.jobedu.oa.service包中的子包、类中所有方法需要,还需要参考tx:advice的设置 -->
    <aop:config>
    	<aop:pointcut id="allManagerMethod" expression="execution (* cn.changtusoft.s2sh_compass.service.*.*(..))"/>
    	<aop:advisor advice-ref="txAdvice" pointcut-ref="allManagerMethod"/>
    </aop:config>     
	
	
	
				<!--======================== dao ========================-->
	<!-- 商品dao -->
	<bean id="productDao" class="cn.changtusoft.s2sh_compass.dao.hibernate.ProductDaoHibernate">
		<property name="sessionFactory" ref="sessionFactory"></property>
	</bean>	
	
	
				<!--======================== manager ========================-->
	<!-- 商品Manager -->						
	<bean id="productManager" class="cn.changtusoft.s2sh_compass.service.impl.ProductManagerImpl">
		<property name="productDao" ref="productDao"></property>
		<property name="compassTemplate" ref="compassTemplate"></property>
	</bean>


				<!--======================== action ========================-->
	<!-- 商品Action -->
	<bean id="productAction" class="cn.changtusoft.s2sh_compass.web.actions.ProductAction" scope="prototype"><!-- 多实例 -->
		<property name="productManager" ref="productManager"></property>
	</bean>


</beans>


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>
	<constant name="struts.objectFactory" value="spring" />

	<include file="struts-default.xml" />
	
	<!-- 中文乱码解决 -->
	<constant name="struts.i18n.encoding" value="gbk"></constant>

	<package name="product" extends="struts-default" namespace="/product">
		<action name="insert" class="productAction" method="insert">
			<result>/product/product_insert_success.jsp</result>
		</action>
		<action name="search" class="productAction" method="search">
			<result>/product/product_search_result.jsp</result>
		</action>
	</package>


</struts>

3
0
分享到:
评论

相关推荐

    struts2+spring2.5+Hibernate3.2整合示例

    Struts2、Spring和Hibernate是Java Web开发中的三大框架,它们的整合应用极大地提升了开发效率和项目的可维护性。在本示例中,我们将探讨如何将这三个框架集成在一起,实现一个完整的MVC(模型-视图-控制器)架构。 ...

    Struts2+Spring3+Hibernate4必备整合包

    这里提供的"Struts2+Spring3+Hibernate4必备整合包"是一个集合了这三个框架所需库的压缩文件,方便开发者快速搭建项目环境。 Struts2作为表现层框架,主要负责处理HTTP请求,展示视图,以及控制应用程序的流程。它...

    struts2+spring3+hibernate整合开发(第7章)

    Struts2、Spring3和Hibernate是Java EE领域中三大核心框架,它们的整合使用能够构建出高效、可维护的企业级应用程序。在这个项目中,我们主要关注的是第7章的代码内容,这部分通常会涵盖特定的主题或者阶段,如服务...

    struts2+spring2+hibernate3+login

    在此项目"struts2+spring2+hibernate3+login"中,开发者可能旨在展示如何整合这三个框架来实现一个基本的登录功能。 **Struts2** 是一个基于MVC(Model-View-Controller)设计模式的开源Web应用程序框架,它主要...

    Struts+Hibernate+Spring整合项目之登录部分

    1. **配置环境**:引入相关jar包,设置struts.xml、hibernate.cfg.xml、applicationContext.xml等配置文件。 2. **整合Struts和Spring**:在struts.xml中配置Action时,指定Spring管理的bean,使Action由Spring实例...

    Hibernate+Spring+Struts2+ExtJS整合开发实例

    在这个整合实例中,开发者还需要关注如何配置各个框架的XML配置文件(如Hibernate的hibernate.cfg.xml,Spring的applicationContext.xml,Struts2的struts.xml等),以确保它们能正确地相互协作。此外,错误处理、...

    Struts2+spring+hibernate

    这个"Struts2+spring+hibernate"项目是作者为了教学目的创建的一个示例,它展示了如何将这三个框架整合在一起进行数据的增删查改操作。 首先,Struts2是一个开源的MVC框架,它负责处理用户请求并将其映射到相应的...

    网络硬盘(Struts 2+Hibernate+Spring实现)_spring实现网盘_网络硬盘_

    《网络硬盘系统:Struts 2、Hibernate与Spring的整合应用》 网络硬盘系统是一种便捷的在线存储服务,它允许用户在互联网上保存、管理和共享文件。本项目以"网络硬盘(Struts 2+Hibernate+Spring实现)"为主题,采用...

    Struts1.3+Spring2.5+Hibernate3手动整合

    - 配置`struts-plugin.xml`,启用Spring的插件支持,并指定`contextConfigLocation`,让Struts知道在哪里查找Spring的配置文件。 5. **整合Spring2.5和Hibernate3**: - 通过Spring的SessionFactoryBean配置,...

    SSH (Struts2+Spring3+Hibernate3) +Proxool_亲测成功 费大劲了.zip

    SSH(Struts2+Spring3+Hibernate3)是一种常见的Java Web开发框架组合,它整合了MVC框架Struts2、依赖注入容器Spring以及持久层框架Hibernate。这些框架的结合为开发者提供了高效、灵活且可扩展的后端架构。在本项目...

    struts2+spring+hibernate整合中spring注入出错。页面中报空指针异常。高手来看看怎么决绝。

    标题提到的问题是“struts2+spring+hibernate整合中spring注入出错,页面中报空指针异常”,这通常是由于Spring的依赖注入没有正确配置导致的。 首先,让我们深入了解一下Struts2、Spring和Hibernate各自的核心概念...

    struts2.1.8+spring2.5+hibernate3.2+ext3.0框架整合笔记(三)

    Struts2、Spring2.5和Hibernate3.2是经典的Java Web开发框架组合,被称为SSH。这个整合笔记的第三部分可能涵盖了如何将这三个组件无缝集成到一个项目中的详细步骤。Struts2作为MVC框架负责控制流程,Spring2.5提供...

    Struts2+Spring+Hibernate开发环境搭建图解

    Struts2+Spring+Hibernate(SSH)是一个经典的Java Web开发框架组合,用于构建高效、可维护的Web应用程序。这个组合提供了模型-视图-控制器(MVC)架构,使得业务逻辑、数据访问和用户界面分离,从而提高了开发效率...

    Struts2+hibernate+spring 整合的登录案例

    Struts2、Hibernate和Spring...综上所述,“Struts2+Hibernate+Spring整合的登录案例”是一个典型的Java Web开发实践,涵盖了前端交互、后端数据处理和框架间的协作,对于理解三大框架的使用和集成具有很高的学习价值。

    struts2+hibernate_spring的整合说明文档

    Struts2、Hibernate和Spring是Java Web开发中的三大框架,它们各自负责应用程序的不同层面:Struts2处理MVC模式中的Controller部分,Hibernate负责数据持久化,而Spring则提供全面的依赖注入(DI)和面向切面编程...

    struts2 + ejb3 + spring 整合了

    为此,添加Struts2的库到项目的类路径,并创建`struts.xml`配置文件。在该文件中,定义Action类、结果和拦截器栈。为了调用EJB3服务,可以使用Struts2的`@Inject`注解或者Spring的`@Autowired`注解,将Spring管理的...

    基于Struts2+Hibernate+Spring的简单产品管理系统

    5. **配置文件**:包括Struts2的配置文件(struts.xml)、Spring的配置文件(applicationContext.xml)和Hibernate的配置文件(hibernate.cfg.xml)。 6. **JSP页面**:用于显示产品信息和提供用户交互界面。 通过...

    Spring+hibernate+struts2 论坛项目

    SSH整合的关键在于配置,包括Spring的Bean配置、Hibernate的数据源和实体映射配置,以及Struts2的Action和结果配置。这些配置文件需要协同工作,确保各组件之间的通信顺畅。此外,可能还需要处理异常、事务管理等...

Global site tag (gtag.js) - Google Analytics