spring的Javabean的无参构造函数什么时候一到要写
最近在用Spring依赖注入时,并使用setter时发现如果你在该类写了一个有参构造函数时,而不写无参构造函数时,运行是会报错未找到默认构造函数的。
加上一个无参构造函数就行了。
我们都知道Spring容器创建对象时默认会调用无参构造函数,但是你写了一个构造函数不管是有参还是无参。默认的无参构造函数就没有了。所以才会报错。
再来补充一下java基础知识吧。
1.当类中没有写构造函数时,java会自己帮你生成一个默认的且是无参的构造函数。(此时在使用spring下有参无参构造函数都可不写)
2.如果写了构造函数,不管是有参还是无参,java都不会帮你生成一个默认的无参构造函数。(所以此时spring的Javabean必须再写一个无参构造函数)
3.在继承方面:子类会默认生成一个无参构造函数并会以super();
的调用父类的无参构造函数。这代表着如果父类没有写无参构造函数,运行时就会报错!
如果有地方可能会调用到本类的无参构造函数时,如果你写了构造函数但是没有写就会报错。所以一般为JavaBean时,除了写getter和setter外,还要生成有参和无参构造函数,当然加个toString最好。
spring的Javabean的无参构造函数什么时候一到要写相关推荐
- Java一种错误的实例化方法:在默认无参构造函数中进行实例化
Java一种错误的实例化方法:在默认无参构造函数中进行实例化 代码如下: package Construction_test;public class A {static int i=0;public ...
- Spring获取JavaBean的xml形式和注解形式
Spring获取JavaBean的xml形式和注解形式 文章目录 一.用xml文件方式管理JavaBean 1. 创建一个xml配置文件 2. 将一个Bean交由spring创建并管理 3. 获取Sp ...
- 抽象类的有参与无参构造函数的研究
即使我们声明一个没有构造函数的抽象类,编译器还会为我们生成一个默认的保护级别的构造函数.子类实例化时(不管是否为带参构造)只会调用所有父类的无参构造函数,而带参构造必须通过显式去调用.调用顺序是先调用 ...
- 解决MVC运行controller的时候只有有参构造函数但是程序一定要走无参构造函数的方法
解决MVC运行controller的时候只有有参构造函数但是程序一定要走无参构造函数的方法 参考文章: (1)解决MVC运行controller的时候只有有参构造函数但是程序一定要走无参构造函数的方法 ...
- 关于lombok和mapstruct整合报无参构造函数错误
调整lombok的版本,lombok使用1.16.10版本时可能会报无参构造函数的错误,将lombok的版本改为1.16.20
- java的无参构造方法_Java的无参构造函数用法实例分析
本文实例讲述了Java的无参构造函数用法.分享给大家供大家参考,具体如下: 一 点睛 1 如果一个类没有定义任何构造函数,那么该类会自动生成1个默认的构造函数.默认构造函数没有参数. 2 如果一个类定 ...
- 无参构造函数和有参构造函数在创建对象时初始化的使用
类的构造函数是类的一种特殊的成员函数,它会在每次创建类的新对象时执行. 构造函数的名称与类的名称是完全相同的,并且不会返回任何类型,也不会返回 void.构造函数可用于为某些成员变量设置初始值. 默认 ...
- 构造代码块、静态代码块、无参构造函数和有参构造函数的执行顺序
一直对构造代码块.静态代码块.无参构造函数和有参构造函数的执行顺序和执行次数混淆不清,所以记录一下它们的执行顺序以及执行次数.记录的不是很详细,留待补充. 代码: package com.yoko.t ...
- java 无参构造函数的作用
要是父类没有写构造函数,系统会默认隐式生成无参构造函数,如果父类写了有参构造函数,那么系统不会默认生成无参构造函数. java中,在执行子类的构造函数之前,如果没有用super()调用父类的构造函数, ...
最新文章
- 未读消息(小红点),前端 与 RabbitMQ 实时消息推送实践,贼简单~
- asr1601芯片平台实现ssl加密的websocket
- mysql时长用什么类型_MySQL 日期时间类型怎么选?千万不要乱用!
- 退出智能手机业务后 LG电子仍将提供最多三年操作系统升级
- Kubernetes详解(十九)——Kubernetes Pod控制器
- 最新人生感悟语句摘选
- 开源电脑屏幕录制软件Captura源码下载及编译(Win10,VS2022)
- azw3 netty权威指南_小程序,巧应用(pdf+epub+mobi+txt+azw3)
- libtorrent安装windows版
- Photoshop利用快速蒙版抠图方法
- wps居中对齐不在中间_wps怎么把字水平居中对齐
- 视觉SLAM⑧----视觉里程计Ⅱ(光流法与直接法)
- 【MySQL】页面上查询时间与数据库中时间相差13个小时原因及解决办法
- 亚特兰提斯之帝国的遗址
- 软考中计算机软件考什么,计算机软考要考什么
- Cutecom无法打开USB串口
- 【Unity】碰撞检测
- MySQL:让表的时间字段在insert和update时自动更新
- 查看phpinfo方法
- Vue<一>互动教程