`

struts2、hibernate、spring三大框架整合

    博客分类:
  • java
阅读更多
首先整合步骤见:iteye博客文章“java三大框架独立运行以及互相之间整合各自需要用到的jar文件以及配置方式 ”里面的 struts、hibernate、spring三大框架整合步骤。(按照这个步骤来整合框架开发项目)。

下面讲解struts2、hibernate、spring三个框架的整合:

Hibernate整合spring之后致命的一个问题是里面没有事务,没有配置事务,这样导致dao里面一个方法就在一个事务里面,而实际开发里面这种情况是很少见的,实际开发中我们经常是几个数据库操作放到同一个事务里面,要么同时成功,要么同时失败。以前使用事务都是通过transaction,开启事务或关闭事务,现在不用它了。实际上spring对事务提供了非常好的支持,依然使用了AOP的方式,采用那种申明性的事务,也就是说事务的代码都不用编写了,只需要配置好就可以了,在对应的方法上配置好事务,那么这个方法就具备了事务的功能。



另外在三个框架整合过程中,当我们把所有依赖jar文件都导入进来,把代码都编写好,把配置文件都配置好之后,启动tomcat,可能会报这样一个错误:

[color=red]严重: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Invocation of init method failed; nested exception is java.lang.NoSuchMethodError: org.objectweb.asm.ClassVisitor.visit(IILjava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)V
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1336)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:471)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
	at java.security.AccessController.doPrivileged(Native Method)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
	at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:220)
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
[/color]



这个bug是由于java程序库的版本管理问题造成的,三大框架里面各自依赖的jar包可能有重复的,我们引入依赖之后,可能就同时导入了两个相同的但版本不同的jar包。我们会发现我们引入的jar包里面有两个相同的(只是版本不同):asm.jar和asm-2.2.3.jar,解决办法是到硬盘lib目录下删掉其中一个jar包,只留一个即可。



在附件这个工程里面,有数据源、连接池……等重要知识点模块,最后又加了事务处理。


注意:在代码编写过程中,不需要考虑事务,在代码编写完成之后并且正常运行之后再在配置文件里添加事务。然后在需要配置事务的方法上给它配置上事务即可。这里是用Spring提供的AOP的申明式事务的方式实现的。Spring里面的事务完全是通过AOP的方式实现的,Spring里面提供了一个事务管理器相关的类HibernateTransactionManager,如果想对某个方法或某个类里面的某些方法增加事务的话,要做两件事情:
1、 申明好HibernateTransactionManager这样一个bean。
2、 利用上一步申明的bean去增强需要使用事务的类。(通常情况下我们是将事务配置在service上,而不是配置在Dao 上,因为Dao操作是一个个独立的操作。而一个Service有可能同时引用到两个或是更多的Dao的方法,那么对于Service方法添加事务的话,那么这一个Service用到的所有Dao方法就在一个事务之内了,要么同时成功,要么同时失败。所以一般的业务开发上面,我们都将事务配置在Service这一层上)。


在配置事务的过程中,TransactionProxyFactoryBean是spring为我们提供的一个工厂类,用来为service层的对象生成具有事务的代理对象。



重点查看附件项目(重点查看Spring的配置文件applicationContext.xml)。
附件项目见自己csdn账号里面的资源:struts2、hibernate、spring三大框架整合项目包。这个项目包完整的演示了三大框架整合的示例代码。一定要经常多敲几次熟练熟练。
分享到:
评论

相关推荐

    最新版本的Struts2+Spring4+Hibernate4框架整合

    整合使用最新版本的三大框架(即Struts2、Spring4和Hibernate4),搭建项目架构原型。 项目架构原型:Struts2.3.16 + Spring4.1.1 + Hibernate4.3.6。 此外,还有:log4j、slf4j、junit4、ehcache等知识点。 项目...

    最新项目系统:Struts2+Spring4+Hibernate4三大框架整合

    总的来说,"最新项目系统:Struts2+Spring4+Hibernate4三大框架整合"为学习和实践Java Web开发提供了一个实用的平台,对于提升开发者的技术水平和项目经验具有极大的帮助。通过深入研究和实践,开发者可以掌握Java ...

    Struts2 Spring3 Hibernate3.3框架整合

    Struts2 Spring3 Hibernate3.3框架整合,增删改查,包含有数据库建表语句,包含有JAR包,包含有源代码。包含有事务的配置以及运用。使用的是Oracle的序列来提供的主键自增,建表和建立序列的sql语句,已经放在工程...

    struts spring hibernate ssh 三大框架集成详细步骤 手把手教你搭框架

    Struts、Spring、Hibernate,这三大框架是Java Web开发中的基石,它们的集成极大地提高了开发效率,降低了代码的复杂性。SSH(Struts + Spring + Hibernate)框架集成旨在实现MVC(Model-View-Controller)设计模式...

    struts2+hibernate+spring框架整合实列

    在"struts2+hibernate+spring框架整合实列"中,通常会按照以下步骤进行整合: 1. **配置环境**:首先确保所有框架的库文件已添加到项目类路径中,并设置好相应的版本兼容性。 2. **配置Struts2**:在web.xml中配置...

    struts2、hibernate、spring三大框架整合项目包

    三大框架整合项目包!整合详解示例!详细示范了当前java里面流行的三大框架的整合,对于spring的配置文件applicationContext.xml做了详细的注释说明,里面包含数据库连接池、Hibernate里的SessionFactory、事务等...

    struts2 + spring 3 + hibernate3.3整合实现图书馆管理管理

    Struts2、Spring和Hibernate是Java Web开发中的三大框架,它们的整合应用广泛用于构建复杂的Web应用程序,如本例中的图书馆管理系统。这个系统实现了用户登录和注册功能,并且提供了对书籍表的操作,包括增、删、改...

    struts2、hibernate和spring框架整合所需的jar以及配置文档

    SSH框架,即Struts2、Hibernate和Spring的组合,是Java Web开发中广泛使用的三大开源框架。它们各自负责Web应用程序的不同层面,通过整合可以提供一套完整的解决方案,实现MVC(Model-View-Controller)设计模式,...

    用Struts+Hibernate+Spring三大框架开发的图书管理系统

    Struts、Hibernate和Spring是Java Web开发中的三大主流框架,它们各司其职,共同构建了一个强大的企业级应用开发环境。在这个"用Struts+Hibernate+Spring三大框架开发的图书管理系统"中,我们可以深入理解这三大框架...

    Struts2 hibernate spring 整合案例

    Struts2、Hibernate和Spring是Java Web开发中的三大框架,它们各自负责不同的职责:Struts2主要用于MVC(Model-View-Controller)架构的实现,提供控制层的支持;Hibernate是对象关系映射(ORM)工具,负责数据持久...

    三大框架整合的学习spring struts hibernate

    在IT领域,Spring、Struts和Hibernate这三大框架是Java Web开发中的重要组成部分。它们各自承担着不同的职责,Spring提供全面的容器管理,Struts处理MVC(模型-视图-控制器)架构,而Hibernate则负责对象关系映射。...

    struts2 hibernate spring 框架技术 最新整合

    struts2 hibernate spring 框架技术 最新整合 里面有struts2上传下载jar 图表jar包 fckediter jar包,实现添加用户 和显示用户信息 以及用display 进行的分页设置,供大家学习参考!

    Struts 2+Spring 3+Hibernate框架技术精讲与整合案例2

    Struts 2+Spring 3+Hibernate框架技术精讲与整合案例2Struts 2+Spring 3+Hibernate框架技术精讲与整合案例2Struts 2+Spring 3+Hibernate框架技术精讲与整合案例2Struts 2+Spring 3+Hibernate框架技术精讲与整合案例2

    ssh(Struts2+hibernate+spring)三大开源框架的参考文档

    SSH是Java开发中广泛使用的三大开源框架,包括Struts2、Hibernate和Spring。这三大框架在Web应用开发中各自承担着不同的职责,协同工作以提高开发效率和代码质量。 Struts2是MVC(Model-View-Controller)设计模式...

    spring_struts_hibernate整合开发书籍

    《Spring+Struts+Hibernate整合开发》是一本深入讲解企业级Java应用开发的书籍,它主要聚焦于三大著名开源框架——Spring、Struts和Hibernate的集成与应用。这些框架是Java Web开发中的基石,广泛应用于各种复杂的...

    struts2.1.8+spring+hibernate框架整合所需jar包

    Struts2、Spring和Hibernate是Java Web开发中的三大主流框架,它们各自负责应用程序的不同层面:Struts2处理表现层逻辑,Spring提供业务层管理和依赖注入,而Hibernate则专注于持久化层,管理数据库交互。...

    Struts2 Spring3 Hibernate4 框架完美整合

    Struts2、Spring3和Hibernate4是Java Web开发中三个非常重要的开源框架,它们分别负责MVC模式中的表现层、业务层和数据访问层。这三个框架的整合,通常被称为SSH整合,可以提供一个高效、灵活且功能强大的企业级应用...

    Spring+Struts2+Hibernate三大框架开发校园精品课程网源代码

    本项目以"Spring+Struts2+Hibernate"三大框架为核心,旨在实现一个校园精品课程网的后台系统,提供丰富的功能和良好的用户体验。下面将详细介绍这三个框架以及它们在该项目中的应用。 1. Spring框架:Spring是Java...

    struts2+spring+hibernate 整合的jar包

    Struts2、Spring和Hibernate是Java Web开发中的三大框架,它们的整合(SSH)极大地提升了开发效率和项目的可维护性。下面将详细讲解这三大框架的核心功能以及整合过程中的关键知识点。 1. **Struts2**:Struts2是一...

    struts2 spring hibernate框架技术与项目实战 光盘源码上

    Struts2、Spring和Hibernate是Java Web开发中的三大主流框架,它们各自负责应用程序的不同层面,协同工作可以构建出高效、可维护的复杂Web应用。在本资源中,"struts2 spring hibernate框架技术与项目实战 光盘源码 ...

Global site tag (gtag.js) - Google Analytics