报错 | Spring报错详解

这篇具有很好参考价值的文章主要介绍了报错 | Spring报错详解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、前言

本文主要是记录在初次学习Spring时遇到报错后的解读以及解决方案

二、报错提示

报错 | Spring报错详解,Spring,spring,java

三、分层解读

遇到报错的时候,我们需要从下往上阅读错误,从最下面一层的Caused by开始阅读,最核心的错误是在最下面一层的;最上面 Exception in....是对下面的错误的包装

1.最下面一层Caused by

报错 | Spring报错详解,Spring,spring,java

Caused by: java.lang.NoSuchMethodException: com.itheima.dao.impl.BookDaoImpl.

NoSuchMethodException:没有这样的方法导致的异常

在这句话后面列出了一个方法:com.itheima.dao.impl.BookDaoImpl.<init>(),也就是缺失了这个方法导致的异常报错

2.上一层Caused by

报错 | Spring报错详解,Spring,spring,java

Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.itheima.dao.impl.BookDaoImpl]: No default constructor found; nested exception is java.lang.NoSuchMethodException: com.itheima.dao.impl.BookDaoImpl.<init>()

BeanInstantiationException:Bean实例化异常

Failed to instantiate:实例化失败,在中国报错后面给了一个类com.itheima.dao.impl.BookDaoImpl,表示这个类实例化失败

No default constructor found:未找到默认构造函数

nested:嵌套,嵌套下一层的报错

3.最上层Caused by

报错 | Spring报错详解,Spring,spring,java

Exception in thread "main" org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'bookDao' defined in class path resource [applicationContext.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.itheima.dao.impl.BookDaoImpl]: No default constructor found; nested exception is java.lang.NoSuchMethodException: com.itheima.dao.impl.BookDaoImpl.

这里我们只要看nested前的报错信息即可

Exception in thread "main" org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'bookDao' defined in class path resource [applicationContext.xml]: Instantiation of bean failed

BeanCreationException:创建Bean异常:后面写出创建哪一个Bean失败了

Error creating bean with name 'bookDao' defined in class path resource [applicationContext.xml]:在applicationContext.xml文件里名字为bookDaoBean创建失败

Instantiation of bean failed:Bean实例化失败

四、总结

这个报错原因很清晰:在 com.itheima.dao.impl.BookDaoImpl这个类中缺少默认构造函数,这里给出 com.itheima.dao.impl.BookDaoImpl类的代码


public class BookDaoImpl implements BookDao {
    public BookDaoImpl(int i) {
        System.out.println("book dao constructor is running ....");
    }
    public void save() {
        System.out.println("book dao save ...");
    }}

可以看出这里缺少不含参数的构造函数public BookDaoImpl()

五、解决方案

  1. 在原有代码上加上如下代码

    public BookDaoImpl(){
    
    	}
    
  2. 修改含参构造方法,去掉int i文章来源地址https://www.toymoban.com/news/detail-640470.html

    public BookDaoImpl(){
    
    	}
    

到了这里,关于报错 | Spring报错详解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Spring使用@Transactional 管理事务,Java事务详解。

    B站视频:https://www.bilibili.com/video/BV1eV411u7cg 技术文档:https://d9bp4nr5ye.feishu.cn/wiki/HX50wdHFyiFoLrkfEAAcTBdinvh 简单来说事务就是一组对数据库的操作 要么都成功,要么都失败。 事务要保证可靠性,必须具备四个特性:ACID。 A:原子性:事务是一个原子操作单元,要么完全执行,要么

    2024年02月11日
    浏览(24)
  • 详解Java Chassis 3与Spring Cloud的互操作

    本文分享自华为云社区《Java Chassis 3技术解密:与Spring Cloud的互操作》,作者: liubao68。 Java Chassis 3一个很重要的设计原则:利用架构的韧性设计来解决兼容性问题。 比如通过引入微服务网关,来解决不同语言、不同框架、遗留系统之间的互操作问题。 本文在这个架构原则基

    2024年04月10日
    浏览(40)
  • Java实战:Spring Boot application.yml配置文件详解

    本文将详细介绍Spring Boot application.yml 配置文件的使用和配置项。我们将探讨 application.yml 文件的基本概念,以及如何使用它来配置Spring Boot应用程序的各个方面。此外,我们将通过具体的示例来展示如何配置不同的Spring Boot组件,如数据源、数据库、缓存、邮件服务等。本文适

    2024年04月24日
    浏览(34)
  • Java21 + SpringBoot3使用spring-websocket时执行mvn package报错

    近日心血来潮想做一个开源项目,目标是做一款可以适配多端、功能完备的模板工程,包含后台管理系统和前台系统,开发者基于此项目进行裁剪和扩展来完成自己的功能开发。 本项目为前后端分离开发,后端基于 Java21 和 SpringBoot3 开发,前端提供了vue、angular、react、uniap

    2024年02月02日
    浏览(55)
  • spring boot 启动报错---java: 无法访问org.springframework.boot.SpringApplication 错误的类文件:

    目录 错误提示信息: 原因: 解决办法: 具体步骤: 主要是因为 spring boot 3.0发布了 ,在创建项目时,默认为3.0 ` 但同时, spring boot 3.0 只支持jdk 17 ,在平时创建时,都喜欢使用jdk8 由于 spring boot 版本默认3.0,同时jdk选择的是 8 ,就会导致这个错误 将 spring boot 版本和jdk统一

    2024年02月15日
    浏览(37)
  • Spring Boot 升级 3.2 报错 Invalid value type for attribute ‘factoryBeanObjectType‘: java.lang.String

    🚀 作者主页: 有来技术 🔥 开源项目: youlai-mall 🍃 vue3-element-admin 🍃 youlai-boot 🌺 仓库主页: Gitee 💫 Github 💫 GitCode 💖 欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请纠正! youlai-boot 升级 Spring Boot 3.2 版本项目启动报错: 报错截图如下: mybatis-spring 官方 ISSUE: https://githu

    2024年02月03日
    浏览(39)
  • JAVA-spring boot 2.4.X报错Unable to find GatewayFilterFactory with name Hystrix

    网关升级spring boot项目后,启动网关报错,具体报错信息如下: 2021-12-06 09:06:25.335 ERROR 45102 --- [oundedElastic-3] reactor.core.publisher.Operators         : Operator called default onErrorDropped reactor.core.Exceptions$ErrorCallbackNotImplemented: java.lang.IllegalArgumentException: Unable to find GatewayFilterFactory with name

    2024年02月14日
    浏览(27)
  • Idea新建spring Initializr项目时选择Project SDK为1.8,选择java版本只有是17和21,出现报错信息

    1.项目构建图展示: 2.报错图展示: 3.原因说的很清楚了,是java版本和jdk版本不符合导致的 4.解决方案 改为阿里云的服务器路径: https://start.aliyun.com 5.测试 这时候就有了java8的版本了

    2024年01月17日
    浏览(35)
  • 2023 最新版IntelliJ IDEA 2023.1创建Java Web前(vue3)后端(spring-boot3)分离 项目详细步骤(图文详解)

    2023 最新版IntelliJ IDEA 2023.1创建Java Web 项目详细步骤(图文详解) 本篇使用当前Java Web开发主流的spring-boot3框架来创建一个Java前后端分离的项目,前端使用的也是目前前端主流的vue3进行一个简单的项目搭建,让你距离Java全栈开发更近一步 🏴‍☠️。 使用版本: “17.0.1”

    2024年02月12日
    浏览(76)
  • spring报错 XXX will not be managed by Spring

    如上提醒表示当前不是Spring管理着呢,是你的数据库插件Mybatis或者MybatisPlus给你管理呢,所以Spring给你温馨提醒了一下而已,又没有报错! 解决的办法是在数据查找的方法上添加 然后就会变成spring管理啦, 同时会变成事务的形式,方法中的任何报错都会导致方法回滚!

    2024年02月12日
    浏览(56)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包