`

使用三大框架编写登陆模块出现的一个很蛋疼的问题解析--另附测试通过的登录模块程序

    博客分类:
  • java
阅读更多
正常情况下按照以往总结的三大框架整合的步骤开始搭建架构,自己手动拷入struts2相关jar文件,利用myecplise快捷方式导入hibernate和spring相关jar文件,自己再导入struts2、spring中间插件jar文件,把架构搭建起来之后开始配置并编写登录程序代码,对于持久层操作数据,想要使用hibernate的注解Annotation方式,(而不是采用原来的那种hbm配置文件的方式),所以在applicationContext.xml配置文件里面配置sessionFactory的时候是这样配置的:
	<bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
		<!-- 注入数据源 -->
		<property name="dataSource">
			<ref local="dataSource"/>
		</property>
		<!-- 因为这里的LocalSessionFactoryBean代表了Hibernate那个配置文件hibernate.cfg.xml,对于那个文件自己还有一些额外的信息,
		比如是否显示hql语句、映射文件在什么地方等等。 -->
		<!-- 下面开始配置。mappingResource指定的是hbm文件的位置映射, -->
		<!-- 
		<property name="mappingResources">
			<list>
				
				<value>PersonBean.hbm.xml</value>
				 
			</list>
		</property>
		
		<property name="packagesToScan">
			<list>
				<value>com.login.pojo</value>
				<value>com.asset.pojo</value>
				<value>com.maintain.pojo</value>
			</list>
		</property>
		-->
		<!-- annotatedClasses指定的是采用hibernate注释的各个实体文件(pojo文件) -->
		<property name="annotatedClasses">
			<list>
				<value>com.audition.pojo.User</value>
			</list>
		</property>
		<property name="hibernateProperties">
			<props>
				<!-- 方言 -->
				<prop key="hibernate.dialect">
					org.hibernate.dialect.Oracle9Dialect
				</prop>
				<!-- 是否显示sql语句 -->
				<prop key="hibernate.show_sql">
					true
				</prop>
			</props>
		</property>

	</bean>


写完程序之后启动服务就出现了如下错误,非常坑爹:
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in ServletContext resource [/WEB-INF/classes/applicationContext.xml]:Instantiation of bean failed; nested exception is java.lang.NoClassDefFoundError:

然后在网上一顿暴查,发现好多人遇到过这个问题,大概总结一下就是三大框架整合的时候jar包出现的冲突,有的人说是spring2.0里面cglib-nodep-2.1_3.jar出现了冲突,有的人说是asm.jar和asm-2.2.3.jar出现了冲突,还有的人说是hibernate-annotations.jar 和 hibernate-commons-annotations.jar和老版本的出现了冲突,等等,统统同都试过了,问题还是没有解决。这时想到了晚上一篇文章里提到的三大框架整合的时候建议自己导入需要的jar包,而不要使用MyEclipse自动添加的包。这样不容易产生包冲突。于是自己在网上寻找下载了一个完整的三大框架整合时所需的所有jar包,把之前导入的包都删除掉之后把这些导入进入,然后问题解决了。OK。
下载下来的那个完整的包文件下载地址:http://pan.baidu.com/s/1ntHNYlz

网上别人遇到的类似的但我都试过之后都没管用的一些链接:
http://blog.csdn.net/shangpusp/article/details/4037388
http://bbs.chinaunix.net/thread-3658418-1-1.html
http://xiao5461.blog.163.com/blog/static/22754562201231572030252/
http://www.iteye.com/problems/80980


和这个问题类似的也是由于三大框架整合包冲突引起的还有下面这个错误:
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in ServletContext
resource [/WEB-INF/applicationContext.xml]: Instantiation of bean failed; nested exception is java.lang.NoClassDefFoundError:

解决问题方式和上面是一样的。




得出的结论是,三大框架整合的时候最好是自己手动添加jar文件,不要使用myecplise的快捷键来添加,非常容易产生代码冲突的情况

具体的在遇到上述问题的时候自己在网上下载了一个三大框架整合的所有需要到的jar文件,把这些jar文件导入进去,然后在导入数据库相关的驱动包就可以了。下载地址:http://pan.baidu.com/s/1ntHNYlz

附件为测试通过的三大框架实现的登录模块程序示例。由于三个框架整合起来之后jar文件比较多,包比较大传不上俩,所以附件这个工程把所有引入的jar文件都删除了,需要下载下来演示的时候就把三个框架引用的jar文件重新添加一次即可(lib目录),三个框架引用的所有包文件下载地址:http://pan.baidu.com/s/1ntHNYlz
分享到:
评论

相关推荐

    DelphiXE 10.2编写的HC-08C 蓝牙模块测试Android程序

    在本文中,我们将深入探讨如何使用DelphiXE 10.2这个强大的集成开发环境(IDE)来构建一个针对Android平台的程序,该程序能够通过蓝牙接口与HC-08C蓝牙模块进行通信。首先,我们需要理解HC-08C蓝牙模块的功能和特性...

    swift-TinyPart是一个由Objective-C编写的面向协议的iOS模块化框架

    Swift-TinyPart是一个专为iOS应用设计的模块化框架,由Objective-C编写,但与Swift语言高度兼容。这个框架的核心理念是基于协议,这使得它在实现组件化时具有高度的灵活性和可扩展性。面向协议的设计使得各种模块...

    Python 自动化测试框架-pytest.pdf

    Pytest是目前Python社区中使用非常广泛的单元测试框架,它之所以被称作最强大的自动化测试框架之一,是因为它具有简洁直观的语法、易于编写测试代码以及强大的扩展能力等特点。以下是对Pytest框架使用的详细知识点...

    谢家老幺-主框架程序

    "谢家老幺-主框架程序"是一个专为软件开发设计的主框架工具,它构成了一个应用程序的基础架构,为开发者提供了构建复杂应用的便捷平台。主框架程序在软件工程中扮演着至关重要的角色,它定义了应用的核心结构、模块...

    嵌入式linux 应用程序开发框架之模块化代码实现

    这样的代码不应该需要太多积分,但时间久了积分上去了,特意来减少所需积分,希望大家喜欢。 嵌入式开发框架之模块化代码实现 仿linux设备驱动框架编写 linux模块化编程 代码开发框架 linux驱动学习

    易语言模块大全(共775个模块)

    易语言模块大全,里面包含775个模块!!! 易语言模块大全,里面包含775个模块!!! 易语言模块大全,里面包含775个模块!!! ACCESS到高级表格1.1(1.1).zip Access操作(1.0).zip ACCESS到超级列表框(1.0).zip ...

    AT_Test_stm32at_AT指令框架_stm32at_at_AT指令框架

    AT指令框架是嵌入式系统,尤其是微控制器(如STM32)与通信模块交互的一种标准方式。在STM32AT项目中,这种框架被设计用于简化STM32微控制器与各种通信模块(如GSM/GPRS、Wi-Fi或蓝牙模块)之间的通信。通过AT指令,...

    测试小程序测试小程序

    总的来说,测试小程序涉及到多个层面,包括功能测试、性能测试、兼容性测试等,而实际开发过程中则会使用到各种框架、库和工具,如Struts、Spring等,同时还需要掌握相关的网络请求、数据存储和用户交互技术。

    SpringBoot多模块例子-v1.0(不建议下载)

    SpringBoot是一种基于Java的轻量级框架,它简化了在Spring框架上构建应用程序的过程,使得开发者可以快速地创建独立运行的、生产级别的、基于Java的Web应用。在本示例"SpringBoot多模块例子-v1.0"中,我们看到的是一...

    嵌入式系统的微模块化程序设计:实用状态图C_C++实现.pdf

    《嵌入式系统的微模块化程序设计:实用状态图C_C++实现》是一本专为嵌入式系统设计人员及计算机科学和电气工程领域的学生编写的教程书。本书由美籍波兰裔博士Miro Samek撰写,中文版由三万钧翻译,详细介绍了量子...

    用Python 编写的一个Monkey脚本例子

    Python Monkey脚本是一种在自动化测试中广泛使用的工具,主要用于模拟用户对应用程序的随机或有目的性的操作。Monkey测试通常用于找出软件中的不稳定因素,比如内存泄漏、崩溃等问题。在这个例子中,我们将深入探讨...

    四则运算表达式解析器源码(C#)

    标题中的“四则运算表达式解析器源码(C#)”是指一个使用C#编程语言编写的程序,它的主要功能是解析包含加法(+)、减法(-)、乘法(*)、除法(/)、取模(%)以及比较运算符(&lt;、&gt;、=、、、&gt;=)的数学表达式。...

    模块功能自定义系统演示程序包

    模块功能自定义系统演示程序包是一个综合性的软件开发示例,旨在展示如何通过自定义模块来构建一个功能丰富的应用程序。这个程序包集成了多种技术,包括ExtJS4、SpringMVC等,为开发者提供了一个实践和学习的平台。 ...

    三个完整的java注册登录模块源代码和设计说明

    在本资源中,你将找到三个完整的Java注册登录模块源代码,这些模块涵盖了Web开发中的重要环节,包括用户注册和身份验证。以下是这些模块中涉及的关键知识点和详细说明: 1. **验证码技术**:验证码是一种防止自动...

    Xposed框架包(含sdk21-23)

    Xposed框架是一款强大的Android系统修改工具,它允许用户在不修改APK的情况下影响应用程序的运行方式,从而实现各种自定义功能。Xposed框架的核心在于它的模块系统,用户可以通过安装不同的Xposed模块来实现如系统...

    C# ASP.NET 模块 - 在线银行支付模块

    在IT行业中,C# ASP.NET 模块是一个广泛使用的框架,用于构建动态、高效的企业级Web应用程序。在线银行支付模块是此类应用中的一个重要组成部分,它允许用户通过互联网进行安全、便捷的交易。以下是对这个主题的详细...

    HC-05蓝牙模块_手机APP控制

    HC-05蓝牙模块的配置和使用是另一个核心知识点。它支持主从模式,并且可以设置为工作在透明传输模式下,这样它会像一个虚拟串口,使得数据交换变得简单。用户需要通过AT命令来配置模块的蓝牙名称、密码、工作模式等...

    webUI自动化测试框架(Python+selenium)

    通过研究该项目,我们可以学习到如何构建一个完整的自动化测试解决方案,同时了解如何优化和扩展测试框架以满足特定需求。无论你是初学者还是经验丰富的测试工程师,这个框架都能为你提供宝贵的参考。

Global site tag (gtag.js) - Google Analytics