`
yosong
  • 浏览: 17453 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

spring与struts2、hibernate的集成

    博客分类:
  • SSH
阅读更多

一、spring 与struts2的集成

 

spring与struts2集成有多种方式,这里只介绍简单的通过插件(strust2-spring-plugin.jar)进行集成

 

1、引入strust2-spring-plugin包


2、添加spring的配置文件

 

spring配置文件Applicatoncontext.xml默认添加位置在classpath下,如果需要更改名称或路径,需在web.xml中进行配置

 

    <context-param>
  		<param-name>contextConfigLocation</param-name>
  		<param-value>classpath:spring.xml</param-value>
    </context-param>
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>

 

3、struts.xml配置

 

spring与struts集成后Action也由spring容器管理,struts.xml中Action的class属性改成spring中配置的Bean

 

	<package name="user" namespace="/user" extends="default">
		<action name="*" class="user.userAction">
			<result name="edit" type="freemarker">
				/WEB-INF/user/user_edit.ftl
			</result>
		</action>
	</package>

 

4、spring配置文件详解

请查看后面

 


二、spring与hibernate的集成

 

spring与hibernate的集成后,hibernate.cfg.xm中与数据库的连接,OMP映射关系,及sessionfactory管理,全部由spring来控制

 

spring配置文件详解

<?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:p="http://www.springframework.org/schema/p" 
    xmlns:context="http://www.springframework.org/schema/context"
    xmlns:tx="http://www.springframework.org/schema/tx"
    xmlns:aop="http://www.springframework.org/schema/aop"
    xsi:schemaLocation="
        http://www.springframework.org/schema/beans 
        http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
        http://www.springframework.org/schema/context 
        http://www.springframework.org/schema/context/spring-context-3.0.xsd
        http://www.springframework.org/schema/tx
        http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
        http://www.springframework.org/schema/aop
        http://www.springframework.org/schema/aop/spring-aop-3.0.xsd">

    <context:component-scan base-package="org.springframework.samples.petclinic.web"/>
	
	<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
		<property name="driverClassName" value="com.mysql.jdbc.Driver"></property>  
        <property name="url" value="jdbc:mysql://127.0.0.1:3306/forum"></property>  
        <property name="username" value="root"></property>  
        <property name="password" value=""></property> 
	</bean>
	
	<bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
		<property name="dataSource">  
        	<ref bean="dataSource" />  
    	</property>  
    	<property name="hibernateProperties">  
        	<props>  
            	<prop key="hibernate.dialect">  
                	org.hibernate.dialect.MySQLDialect  
            	</prop>  
        	</props>  
    	</property>
    	<property name="packagesToScan">
   			<list>
    			<value>com.*</value>
   			</list>
  	</property>  
 <!--    	采用配置文件映射关系
 		<property name="mappingResources">  
        	<list>  
            	<value>com/forum/user/entity/User.hbm.xml</value>  
        	</list>  
    	</property>
 -->
	</bean>
	
	<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
		<property name="sessionFactory">
			<ref bean="sessionFactory"/>
		</property>
	</bean>
	
	<!-- 配置事务管理 
	<bean id="transationService" class="org.springframework.transaction.interceptor.TransactionInterceptor">
		<property name="transactionManager">
			<ref bean="transactionManager"/>
		</property>
		<property name="transactionAttributes">
			<props>
				<prop key="*">PROPAGATION_REQUIRED</prop>
			</props>
		</property>
	</bean>
	-->
	 <!-- 第一种自动代理,代理业务对象 声明事务
 	<bean class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">  
  		<property name="beanNames">  
  	 		<list>  
    		<value>user.userManager</value>  
   			</list>  
  		</property>  
  		<property name="interceptorNames">  
   		<list>  
    		<value>transationService</value>  
   		</list>  
  		</property>  
 	</bean>
 	 -->  
 	<!-- 第二种采取定义切面的方式, 声明事务-->
 	<tx:advice id="transactionAdvice" transaction-manager="transactionManager">
 	 	<tx:attributes>
 	 		<tx:method name="*"/>
 	 	</tx:attributes>
 	</tx:advice>  
	
	<aop:config>
		<aop:pointcut id="txManager" expression="execution(* com.forum.*.*manager.*.*(..))" />
		<aop:advisor advice-ref="transactionAdvice" pointcut-ref="txManager"/>
	</aop:config>
	
	<bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate">
		<property name="sessionFactory">
			<ref bean="sessionFactory"/>
		</property>
	</bean>
	
	<bean id="user.userDao" class="com.forum.user.dao.impl.UserDaoImpl">
		<property name="hibernateTemplate">
			<ref bean="hibernateTemplate"/>
		</property>
	</bean>
	
	<bean id="user.userManager" class="com.forum.user.manager.impl.UserManagerImpl">
		<property name="userDao">
			<ref bean="user.userDao"/>
		</property>
	</bean>
	
	<bean id="user.userAction" class="com.forum.user.action.UserAction">
		<property name="userManager">
			<ref bean="user.userManager"/>
		</property>
	</bean>

</beans>
分享到:
评论

相关推荐

    图书管理系统spring+struts+hibernate

    library_ssh2可能是一个包含系统源代码的压缩文件,"ssh2"可能表示系统使用了Struts2、Spring2和Hibernate2这三个框架的早期版本。这个文件中应包含所有必要的Java源代码、配置文件、Web应用相关的资源(如JSP页面、...

    spring_struts_hibernate集成(干净版)

    本文将详细解析如何进行"Spring、Struts、Hibernate集成(干净版)",旨在为开发者提供一个清晰、简洁的集成步骤。 首先,让我们了解这三大框架的基本功能。Spring作为一个全能型框架,提供了依赖注入(DI)、面向...

    spring_struts_hibernate整合开发书籍

    书中会详细讲述如何配置这些框架,使它们协同工作,包括Spring与Hibernate的事务管理、数据源配置、以及Struts2与Spring的整合等。 除此之外,书中还可能涵盖了单元测试、异常处理、安全性配置等方面的内容,这些都...

    Spring+Struts2+hibernate+Redis整合

    在IT行业中,SSH(Spring、Struts2、Hibernate)是一个经典的Java Web开发框架组合,而Redis则是一个高性能的键值存储系统,常用于缓存和数据持久化。将SSH与Redis整合,可以提升应用程序的性能和响应速度。下面将...

    Spring集成struts以及hibernate jar包

    标题中的"Spring集成struts以及hibernate jar包"指的是在Java Web开发中,将Spring框架与Struts2和Hibernate框架进行整合的过程。这通常是为了构建一个完整的MVC(Model-View-Controller)架构,其中Spring负责依赖...

    spring+struts+hibernate集成

    - 最后,配置Struts2与Spring的整合,使得Action可以通过Spring容器获取bean,同时配置Hibernate与Spring的事务管理整合,确保数据操作的一致性。 5. **新闻项目实战**: - 新闻实体类(News):定义新闻的基本...

    Spring和Struts和Hibernate集成

    Spring还包含了对其他框架的集成支持,比如与Struts和Hibernate的整合。 2. Struts框架:Struts是基于MVC设计模式的,它将业务逻辑、表示层和数据访问层分离,使得代码结构更清晰,易于维护。用户请求被路由到...

    Spring集成Struts与Hibernate入门详解

    在本文中,我们将详细介绍如何将Spring框架与Struts和Hibernate集成,以构建一个功能强大且灵活的Web应用程序。 Spring框架 Spring框架是一个开源的轻量级框架,它提供了许多功能强大且灵活的模块,以帮助开发者...

    spring struts2 hibernate dwr

    Struts2与Spring结合,可以实现更灵活的控制流和强大的动作管理。 **Hibernate框架** Hibernate 是一个对象关系映射(ORM)工具,它简化了Java应用与数据库之间的交互。通过Hibernate,开发者可以将Java对象直接...

    Maven搭建spring_struts2_Hibernate_demo

    Maven搭建spring_struts2_Hibernate项目源码,包括数据库,博客地址:http://blog.csdn.net/fengshizty/article/details/43794911

    ssh集成jar包,支持spring集成Hibernate,spring集成struts2等

    - Struts2与Hibernate集成,通常在Action中通过SessionFactory获取Session,执行数据库操作,但这种方式不推荐,因为容易导致事务管理复杂。推荐使用Spring的Hibernate支持来整合。 5. **jar包的使用**: - 在SSH...

    简单的spring+struts+hibernate实例

    - **Spring JDBC与Hibernate集成**:Spring可以管理Hibernate Session,提供事务控制,简化数据访问。 2. **Struts框架**: - **Action类**:处理HTTP请求的核心组件,每个Action对应一个业务逻辑。 - **...

    spring +struts + hibernate 例子

    具体到"myssh"这个项目,可能包含了Spring、Struts和Hibernate的配置文件(如 applicationContext.xml、struts-config.xml 或 struts2.xml、hibernate.cfg.xml),以及对应的实体类、DAO接口及其实现、Service接口...

    struts2 spring hibernate集成

    **Struts2与Spring的集成** 主要是通过Spring插件实现,这使得Action类可以作为Spring的bean管理,实现依赖注入。这样,Action类可以直接注入服务层(Service)和DAO(数据访问对象)层的bean,简化了代码结构,增强...

    spring,struts,hibernate集成包

    Spring、Struts和Hibernate是Java开发中非常著名的三个框架,它们分别在依赖注入(IoC)、MVC(Model-View-Controller)架构和对象关系映射(ORM)方面发挥重要作用。这个集成包提供了这三个框架的核心库,使得...

    spring集成Struts与Hibernate

    ### Spring集成Struts与Hibernate详解 #### Spring集成Struts **背景介绍** 随着Java技术的发展,Struts作为最早的MVC框架之一,在Java EE领域中占据了重要地位。虽然随着时间的推移,新的框架和技术不断涌现,但...

    spring整合struts2与hibernate核心配置文件

    `struts2-spring-plugin.xml`配置Struts2与Spring的集成,确保Action类由Spring容器管理。`spring-context.xml`中,需要配置数据源、SessionFactory、事务管理器以及各业务层和DAO层的bean。Hibernate的`hibernate....

    spring_struts_hibernate集成

    在IT行业中,SSH(Spring、Struts和Hibernate)是一个经典的Java Web开发框架组合,被誉为“老三架马车”。这三大框架分别承担着不同的职责,共同构建了一个强大的后端架构,使得开发人员能够高效地进行应用程序开发...

    ssh框架整合详细步骤(spring+struts2+hibernate)

    **Step10:Struts2与Spring的集成** - 在`struts.xml`中,将Action的Class属性修改为Spring的Bean名称,利用Spring的IOC特性实现Action的实例化和依赖注入。 ##### 第三部分:Hibernate与Spring进行整合 **Step11...

Global site tag (gtag.js) - Google Analytics