`
bartholomew4
  • 浏览: 11669 次
社区版块
存档分类
最新评论

Spring MVC Hibernate 中的一个疑问

阅读更多

       最近开发项目遇到一个问题。

       错误日志跟踪发现是spring IOC报出来的错误

 

 

org.springframework.beans.factory.BeanCreationException: Error creating bean with name ****: Injection of autowired dependencies failed;nested exception is ......nested exception is org.hibernate.MappingException: Could not get constructor for org.hibernate.persister.entity.SingleTableEntityPersister

        竟然是hibernate的注入问题,由于代码并没有添加新的实体,也找到任何有注释问题的service,dao,entitiy类。无奈下只能通过svn对比代码差异。

 

        结果发现由于开发需求某开发新人在某个表映射实体中添加了一个方法public double getAvg(),其方法内容就是针对此实体的某些。由于本人并没有参考过hibernate orm的最新源码,对其原理仅仅停留于曾经远古年代的XML经验--没有在XML中配置的hibernate不会对其进行映射。推论到目前的注解,没有注解的应当也不会被映射。

        由于没有找到其他原因,也只能对此方法下手,从代码中注释了此方法和相关代码,发现程序正常跑了,catch!!!

-----------------------------------------------至此罪魁祸首代码已经找到----------------------------------------------------          既然找到问题代码,hibernate的原因也基本被排除,那么出错的责任应在spring IOC。将该方法名改为avg() 发现程序可以正常运行,方法名由get变为set,程序也可正常运行,删除该改方法添加属性avg发现程序同样正常,最后保留get情况下添加了set方法,程序依然正常。

       这让我对之前的spring认识有了变更,入门时师傅告诉我spring是根据属性去查找get/set方法进行注入。从上面的表现上来看其顺序应该是获取所有的get方法,查找对应的set方法,不存在就报错。注入原理与属性无关!

------------------------------------------------------------总结-------------------------------------------------------------------

          经此一役,让我收获最大的是对于项目管理上要严格把控代码质量,对所有源码在经过多层测试和审核。在技术上加强新人培训,杜绝简单问题的出现。同时也不应迷信于前人的经验和方法,做到谨慎质疑,大胆证实。最后本人从事的是业务架构设计对于技术了解一般,如有技术错误请指出。

分享到:
评论

相关推荐

    spring mvc + spring + hibernate 全注解整合开发视频教程 11

    Spring MVC是Spring框架的一个模块,主要用于构建Web应用程序的模型-视图-控制器(MVC)架构。它提供了丰富的特性,如请求映射、数据绑定、异常处理和视图解析等。使用Spring MVC,开发者可以通过注解来简化配置,...

    spring mvc + spring + hibernate 全注解整合开发视频教程 12

    Spring MVC是Spring框架的一个模块,专门用于构建Web应用程序的前端控制器。它提供了模型-视图-控制器(MVC)架构模式的实现,使得业务逻辑与用户界面分离,提高了代码的可测试性和可维护性。Spring MVC通过注解如@...

    spring mvc,spring, hibernate 整合登录实例

    在本文中,我们将深入探讨如何将Spring MVC、Spring和Hibernate这三大流行框架整合在一起,以构建一个完整的登录实例。这个实例旨在提供一个清晰、简洁且易于理解的代码结构,帮助初学者快速上手。 首先,Spring ...

    spring mvc + spring + hibernate 全注解整合开发视频教程 04

    在本视频教程“Spring MVC + Spring + Hibernate 全注解整合开发视频教程 04”中,我们将深入探讨Java企业级开发中的三大核心技术——Spring、Spring MVC和Hibernate的集成与应用,尤其是通过注解实现的简化配置。...

    springmvc+spring+hibernate

    Spring MVC、Spring 和 Hibernate 是Java Web开发中的三大主流框架,它们各司其职,共同构建了一个强大而灵活的后端架构。Spring MVC 负责处理HTTP请求并将其路由到相应的控制器,Spring 提供了依赖注入(DI)和面向...

    spring mvc + spring + hibernate 全注解整合开发视频教程 06.haozip03

    spring mvc + spring + hibernate 全注解整合开发视频教程 06.haozip03

    基于spring mvc、spring、hibernate、bootstrap、maen开发的企业级项目,导入即可运行

    这是一个基于Java技术栈开发的企业级项目,主要使用了Spring MVC、Spring、Hibernate、Bootstrap和Maven等关键组件。下面将详细解析这些技术及其在项目中的作用。 **Spring MVC**: Spring MVC是Spring框架的一个...

    Spring mvc hibernate spring 开发所需jar包

    在Java企业级应用开发中,Spring、Spring MVC和Hibernate是三个非常重要的框架,它们共同构建了一个强大的后端开发体系。这个压缩包包含了这三个框架以及其他相关技术的jar包,确保了项目能够正常运行。 Spring框架...

    spring,spring mvc,hibernate,ehcache Java后台框架

    Spring MVC是Spring框架的一个模块,专门用于构建Web应用程序。它基于MVC(Model-View-Controller)设计模式,将业务逻辑、数据和用户界面分离,使得开发者可以独立地修改各部分代码。Spring MVC提供了处理HTTP请求...

    spring4MVC+Hibernate4实例(增删改查)

    在本实例中,"spring4MVC+Hibernate4实例(增删改查)"是一个基于Maven构建的Java Web项目,旨在演示如何整合Spring MVC和Hibernate框架来实现数据的CRUD(创建、读取、更新和删除)操作。Spring MVC是Spring框架的...

    spring mvc整合hibernate

    Spring MVC 用于构建应用程序的前端控制器,提供模型-视图-控制器(MVC)架构,而 Hibernate 是一个强大的对象关系映射(ORM)框架,负责数据库操作。整合这两个框架可以让我们在处理业务逻辑时更加高效和灵活。 ...

    spring mvc,spring,hibernate框架开发

    Spring框架则是一个全面的企业级应用开发框架,它不仅包括Spring MVC,还提供了依赖注入、AOP(面向切面编程)、事务管理等功能。Hibernate则是一个强大的ORM(对象关系映射)工具,它简化了数据库操作,使得开发者...

    spring Spring MVC Hibernate 4.x 整合案例

    在这个整合案例中,我们将看到如何配置Spring、Spring MVC和Hibernate,以实现一个包含增删查改(CRUD)功能的应用。首先,你需要设置项目的基本结构,创建相应的目录和文件,如src/main/java用于存放Java源代码,...

    spring mvc + spring + hibernate 全注解整合开发视频教程 09

    【标题】"Spring MVC + Spring + Hibernate 全注解整合开发视频教程 09" 提供了一次深入了解Java企业级应用开发的机会,特别是在使用Spring MVC、Spring和Hibernate这三大核心框架进行全注解配置的场景下。...

    Spring mvc+hibernate+mysql Demo

    在这个"Spring mvc+hibernate+mysql Demo"项目中,可能包含了一个简单的示例应用,展示了如何配置和使用这三个技术。"test"文件可能是测试代码或者测试数据,用于验证整个系统的正确性。测试可能涵盖了CRUD操作,...

    Spring+Spring mvc+Hibernate+Bootstrap、企业级员工信息管理系统

    后台通过自定义注解结合一个访问拦截器实现整个系统的权限控制 04. 系统前台采用全采用的Html+jQuery开发 05. 系统前台与后台的交互全部使用 Ajax 异步请求 06. 自定义 SecureValid 注解实现权限的控制 07. ...

    搭建Spring+Spring MVC+Hibernate开发框架

    在IT行业中,构建高效、可扩展的Web应用是至关重要的,而Spring、Spring MVC和Hibernate是Java领域中广泛使用的三大框架,它们各自负责不同的职责,共同构建了一个强大的开发环境。本篇文章将深入探讨如何利用这三大...

    spring mvc、spring、hibernate、bootstrap 框架整合开发的项目源码下载

    在IT行业中,Spring MVC、Spring、Hibernate和Bootstrap是四个非常重要的框架,它们分别在Web开发的不同层面上发挥着关键作用。下面将详细解释这四个框架的功能、整合方式以及它们在项目开发中的应用。 1. Spring ...

    spring mvc mysql hibernate

    标题中的“Spring MVC”,“Hibernate”和“MySQL”都是Java Web开发中不可或缺的重要技术组件,它们共同构建了一个高效、灵活的后端应用架构。 Spring MVC是Spring框架的一部分,专门用于构建Web应用程序。它是一...

    Spring MVC jar包

    这表明我们不仅得到了Spring MVC的相关资源,还获得了Hibernate 3.6.8版本的资料,这是一个流行的Java对象关系映射(ORM)框架,用于简化数据库操作。 1. **Spring MVC**: - **基本概念**:Spring MVC提供了一个...

Global site tag (gtag.js) - Google Analytics