一、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>
分享到:
相关推荐
library_ssh2可能是一个包含系统源代码的压缩文件,"ssh2"可能表示系统使用了Struts2、Spring2和Hibernate2这三个框架的早期版本。这个文件中应包含所有必要的Java源代码、配置文件、Web应用相关的资源(如JSP页面、...
本文将详细解析如何进行"Spring、Struts、Hibernate集成(干净版)",旨在为开发者提供一个清晰、简洁的集成步骤。 首先,让我们了解这三大框架的基本功能。Spring作为一个全能型框架,提供了依赖注入(DI)、面向...
书中会详细讲述如何配置这些框架,使它们协同工作,包括Spring与Hibernate的事务管理、数据源配置、以及Struts2与Spring的整合等。 除此之外,书中还可能涵盖了单元测试、异常处理、安全性配置等方面的内容,这些都...
在IT行业中,SSH(Spring、Struts2、Hibernate)是一个经典的Java Web开发框架组合,而Redis则是一个高性能的键值存储系统,常用于缓存和数据持久化。将SSH与Redis整合,可以提升应用程序的性能和响应速度。下面将...
标题中的"Spring集成struts以及hibernate jar包"指的是在Java Web开发中,将Spring框架与Struts2和Hibernate框架进行整合的过程。这通常是为了构建一个完整的MVC(Model-View-Controller)架构,其中Spring负责依赖...
- 最后,配置Struts2与Spring的整合,使得Action可以通过Spring容器获取bean,同时配置Hibernate与Spring的事务管理整合,确保数据操作的一致性。 5. **新闻项目实战**: - 新闻实体类(News):定义新闻的基本...
Spring还包含了对其他框架的集成支持,比如与Struts和Hibernate的整合。 2. Struts框架:Struts是基于MVC设计模式的,它将业务逻辑、表示层和数据访问层分离,使得代码结构更清晰,易于维护。用户请求被路由到...
在本文中,我们将详细介绍如何将Spring框架与Struts和Hibernate集成,以构建一个功能强大且灵活的Web应用程序。 Spring框架 Spring框架是一个开源的轻量级框架,它提供了许多功能强大且灵活的模块,以帮助开发者...
Struts2与Spring结合,可以实现更灵活的控制流和强大的动作管理。 **Hibernate框架** Hibernate 是一个对象关系映射(ORM)工具,它简化了Java应用与数据库之间的交互。通过Hibernate,开发者可以将Java对象直接...
Maven搭建spring_struts2_Hibernate项目源码,包括数据库,博客地址:http://blog.csdn.net/fengshizty/article/details/43794911
- Struts2与Hibernate集成,通常在Action中通过SessionFactory获取Session,执行数据库操作,但这种方式不推荐,因为容易导致事务管理复杂。推荐使用Spring的Hibernate支持来整合。 5. **jar包的使用**: - 在SSH...
- **Spring JDBC与Hibernate集成**:Spring可以管理Hibernate Session,提供事务控制,简化数据访问。 2. **Struts框架**: - **Action类**:处理HTTP请求的核心组件,每个Action对应一个业务逻辑。 - **...
具体到"myssh"这个项目,可能包含了Spring、Struts和Hibernate的配置文件(如 applicationContext.xml、struts-config.xml 或 struts2.xml、hibernate.cfg.xml),以及对应的实体类、DAO接口及其实现、Service接口...
**Struts2与Spring的集成** 主要是通过Spring插件实现,这使得Action类可以作为Spring的bean管理,实现依赖注入。这样,Action类可以直接注入服务层(Service)和DAO(数据访问对象)层的bean,简化了代码结构,增强...
Spring、Struts和Hibernate是Java开发中非常著名的三个框架,它们分别在依赖注入(IoC)、MVC(Model-View-Controller)架构和对象关系映射(ORM)方面发挥重要作用。这个集成包提供了这三个框架的核心库,使得...
### Spring集成Struts与Hibernate详解 #### Spring集成Struts **背景介绍** 随着Java技术的发展,Struts作为最早的MVC框架之一,在Java EE领域中占据了重要地位。虽然随着时间的推移,新的框架和技术不断涌现,但...
`struts2-spring-plugin.xml`配置Struts2与Spring的集成,确保Action类由Spring容器管理。`spring-context.xml`中,需要配置数据源、SessionFactory、事务管理器以及各业务层和DAO层的bean。Hibernate的`hibernate....
在IT行业中,SSH(Spring、Struts和Hibernate)是一个经典的Java Web开发框架组合,被誉为“老三架马车”。这三大框架分别承担着不同的职责,共同构建了一个强大的后端架构,使得开发人员能够高效地进行应用程序开发...
**Step10:Struts2与Spring的集成** - 在`struts.xml`中,将Action的Class属性修改为Spring的Bean名称,利用Spring的IOC特性实现Action的实例化和依赖注入。 ##### 第三部分:Hibernate与Spring进行整合 **Step11...