项目做完了,总结一下.该项目是利用SSH技术实现的.下面来谈谈Spring是如何管理Struts2和hibernate的.
一:
先说说Spring是如何运作的吧. 在tomcat启动的时候, 先会在web.xml中加载两个句话,
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</context-param>
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListner
</listener-class>
</listener>
在这里,ContextLoaderListener继承了ServletContextListener.因此,Spring会根据contextConfigLocation所指的Applicationcontext.xml自动装配xml文件中所用到的bean对象.
在applicationcontext.xml中bean的定义如下
<bean id="user" class="com.test.User" abstract="false" parent="people" scope="prototype">
<property name="dept" ref="dept" ></property>
</bean>
当id中需要包含斜杠"/" 等特殊字符时,要将id换乘name的同等的. 还有一个特别说明的是,这里的id和name的值必须是唯一的.
二: Spring是如何管理hibernate的.以及Spring管理的事务.
Spring加载之后,会根据applicationcontext.xml文件中的配置来装配实例.
<bean name="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="configLocation" value="classpath:hibernate.cfg.xml"></property>
</bean>
他会根据hibernate.cfg.xml所配置的加载hibernate配置信息.并实例化sessionFactory.并且如果Dao要受Spring管理, 那么此Dao类需要继承HibernateDaoSupport.
Spring提供的事务管理有两种方式,编程式的和申明式的. 编程式的繁琐,我一般不喜欢用.最喜欢的一种是利用Spring封装的aspectJ, 利用Aop来管理事务很方便的.
首先创建一个事务管理器
<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory">
</property>
</bean>
声明一个通知, 并声明此通知受某一个事务管理器管理
<tx:advice id="txAdvice" transaction-manager="transactionManager">
<tx:attributes>
<tx:method name="save*" />
<tx:method name="*" readonly="true" />
</tx:attributes>
</tx:advice>
上面的一段话说明了txAdvice受transactionManager事务管理器管理, 并且管理save打头的方法. 其余的都不使用事务管理.
最后利用advisor配置advice的切入点.
<aop:config>
<aop:advisor advice-ref="txAdvice" pointcut="execution(pulic * *..*.service.*.*(..))">
</aop:advisor>
</aop:config>
这样, 只要经过service层就会进入事务管理.
分享到:
相关推荐
总结来说,这个demo项目提供了一个学习和实践Struts1.2、Spring2.5和Hibernate3.2集成的平台,涵盖了MVC设计模式、依赖注入、面向切面编程和对象关系映射等多个关键概念。通过深入研究和修改这个项目,开发者能够...
Spring、Hibernate和Struts是Java开发中非常重要的三个框架,它们构成了经典的MVC(Model-View-Controller)架构,被广泛应用于企业级Web应用开发。这些框架极大地简化了开发过程,提高了开发效率,并且提供了良好的...
整合使用最新版本的三大框架(即Struts2、Spring4和Hibernate4),搭建项目架构原型。 项目架构原型:Struts2.3.16 + Spring4.1.1 + Hibernate4.3.6。 此外,还有:log4j、slf4j、junit4、ehcache等知识点。 项目...
《图书管理系统spring+struts+hibernate》是一款基于Java技术栈开发的图书管理软件,其核心框架包括Spring、Struts和Hibernate。该系统利用MySQL作为数据库存储数据,提供了完整的数据库备份,确保了数据的安全性与...
开发者可以通过Struts2处理前端请求,Spring4管理业务逻辑和服务,Hibernate处理数据存取,同时利用Tomcat部署和运行应用程序。这样的架构使得电子商务系统的开发更加规范,更有利于团队协作和项目扩展。在学习过程...
在本整合中,Spring 2.5.6版本主要作为业务逻辑的管理和协调者,它可以通过配置文件管理Bean的生命周期,同时与Hibernate和Struts进行无缝集成。 Hibernate 3.2是一个流行的ORM(对象关系映射)工具,它消除了...
Struts2+Spring+Hibernate和Struts2+Spring+Ibatis是两种常见的Java Web应用程序集成框架,它们分别基于ORM框架Hibernate和轻量级数据访问框架Ibatis。这两种框架结合Spring,旨在提供一个强大的、可扩展的、易于...
【描述】:“这是一个将Hibernate、Struts2和Spring三大框架集成在一起的项目示例。它展示了如何在实际开发中有效地结合这三个强大的Java技术,实现数据持久层、业务逻辑层和表示层的无缝协作。” 【详细知识点】:...
本项目“maven整合spring+hibernate+struts2”就是一个典型的Java Web开发模式,它利用Maven作为项目管理工具,Spring作为核心框架,Hibernate作为持久层解决方案,Struts2作为表现层控制器。以下将详细阐述这些技术...
这需要一个评论模块,可能通过Struts实现视图展示,Spring和Hibernate处理业务逻辑和数据存储。 5. **资源评分系统**:当其他用户下载了某个用户上传的资源,该用户会获得一定的资源分数。这个功能涉及到积分规则的...
标题 "spring+hibernate+struts" 指涉的是一个经典的Java Web开发框架组合,也被称为SSH(Spring、Struts和Hibernate)三位一体。这个组合在2000年代中期到后期非常流行,用于构建企业级应用。下面将详细阐述这三个...
Struts1.2+Spring2.0+Hibernate3.1Struts1.2+Spring2.0+Hibernate3.1Struts1.2+Spring2.0+Hibernate3.1Struts1.2+Spring2.0+Hibernate3.1
本项目主要涉及的是Spring、Hibernate和Struts2这三个主流的Java开发框架的整合。它们分别负责不同的职责:Spring作为全能型容器,管理对象和依赖注入;Hibernate是持久层框架,负责数据库操作;而Struts2则是一个...
Spring4.0+Hibernate4.0+Struts2.3整合案例:实现增删改查。 ===================== application.xml: xmlns="http://www.springframework.org/schema/beans" xmlns:xsi=...
在Java Web开发中,Spring、Hibernate和Struts是三个非常重要的框架。它们分别负责不同的职责:Spring作为核心容器,提供依赖注入(DI)和面向切面编程(AOP)等功能;Hibernate是对象关系映射(ORM)框架,用于简化...
Struts1、Spring2和Hibernate2是Java Web开发中的三个重要框架,它们分别负责MVC模式中的表现层、业务层和服务层。这个整合例子旨在展示如何将这三个框架协同工作,以构建一个完整的Java Web应用程序。 Struts1是...
Spring如何整合Hibernate和struts --cglib来实现事务管理.rtf.rtf
《Spring+Struts+Hibernate整合开发》是一本深入讲解企业级Java应用开发的书籍,它主要聚焦于三大著名开源框架——Spring、Struts和Hibernate的集成与应用。这些框架是Java Web开发中的基石,广泛应用于各种复杂的...
在这个“ssh搭建案例 spring2.5 hibernate3.1 struts1.2”中,我们将深入探讨这三个组件如何协同工作来实现一个转账案例,并通过Spring管理事务。 首先,Spring作为核心的框架,负责整个应用的依赖注入(DI)和面向...
通过整合Spring、Hibernate和Struts2,我们可以构建出一个高效、可维护的Java Web应用。这种架构允许开发者更专注于业务逻辑,而不是底层的基础设施,从而提高开发效率和软件质量。在实际开发过程中,还可以根据需求...