spring框架,有些类中没有无参构造放方法,但是spring还是可以构造出该实例,它是怎么做到的?

问题描述

spring框架,有些类中没有无参构造放方法,但是spring还是可以构造出该实例,它是怎么做到的?

spring的基础是反射,反射是依靠无参构造方法的,但是我的类中没有无参构造放方法,Spring还是给我构造出了实例,Spring是怎么做到的?

解决方案

反射也可以调用有参构造函数甚至私有构造函数的。

没有无参构造函数,你说的是没有写构造函数吧,那么java会产生一个默认的无参数共有构造函数的。

解决方案二:

不写构造器的话,java会默认生成一个无参构造器。写了的话,就不会生成了。

解决方案三:

类里没有声明构造函数,不代表这个类没有构造函数,任何类都有构造函数.没有写的话,则会有一个默认的构造函数.

解决方案四:

没写无参构造,默认会有一个无参构造,你可以写测试类,不写无参构造,然后在main方法在new在个无参构造 来创建对象,测试下看能不能创建成功

解决方案五:

你不写,java会默认生成一个无参数的,而且反射技术也可以利用带参数的生成对象的

时间: 2024-11-03 12:54:31

spring框架,有些类中没有无参构造放方法,但是spring还是可以构造出该实例,它是怎么做到的?的相关文章

class-java类中有有参构造,没有无参构造

问题描述 java类中有有参构造,没有无参构造 import java.util.Date; public final class Schedule { private final Date start; private final Date end; public Schedule(Date start, Date end) { if (start.compareTo(end) > 0) throw new IllegalArgumentException(start + " after

我在框架融合的中遇到一些问题!(DWR+EXT+Spring+mybatis )

问题描述 我在框架融合的中遇到一些问题!(DWR+EXT+Spring+mybatis ) 我的服务器是 WAS的 在服务器上的日志文件中,查看到这样输出. 输出:[16-1-15 9:53:35:449 CST] 00000070 SystemOut O 2016-01-15 09:53:35449 [INFO ]: 保存[16-1-15 9:53:35:449 CST] 00000070 ClassPathXmlA I org.springframework.context.support.

Socket类中提供的支持异步操作的方法

在网络编程中运用Socket,常常需要长期监听某个端口,以获得Socket连接,进而执行相关操作. 但此时,主线程就会被阻塞,无法做其他事情.为了解决这类问题,Socket类中提供了一些支持异步操作的方法,如表17-10所示. 表17-10 Socket类中支持异步操作的方法 方法 说明 BeginAccept() 开始一个异步请求,以创建一个新的Socket对象来接受传入的连接请求 EndAccept() 结束一个异步请求,以创建一个新的Socket对象来接受传入的连接请求 BeginConn

php遍历类中包含的所有元素的方法

  本文实例讲述了php遍历类中包含的所有元素的方法.分享给大家供大家参考.具体分析如下: 这里可获得php类包含的所有元素以key-value的形式输出 ? 1 2 3 4 5 6 7 8 9 10 11 12 class MyTestClass{ const TESTVAR1 = 1001; const TESTVAR2 = 1002; const TESTSTR1 = 'hello'; } $rc = new ReflectionClass('MyTestClass'); $v = $rc

class-fragment类中怎么设置两个spinner方法

问题描述 fragment类中怎么设置两个spinner方法 在fragment类中我想设置三个spinner下拉选择器,但是能设置一个,再弄第二个程序就不能运行了.fragment类中肯定能设置多个spinner,但是我查不到具体方法. 解决方案 C++中两个类交叉定义的处理方法 解决方案二: 在布局文件中直接设置不就得了......

C++将CBitmap类中的图像保存到文件的方法_C 语言

本文实例讲述了C++将CBitmap类中的图像保存到文件的方法.分享给大家供大家参考.具体实现方法如下: 使用下面的代码,可以把CBitmap类中的图像保存到图像文件中.支持格式:BMP.JPG.GIF和PNG. void SaveBitmap(CString strFilePath, CBitmap Bitmap) { if ( Bitmap.m_hObject ) { CImage imgTemp; // CImage是MFC中的类. imgTemp.Attach(Bitmap.operat

php遍历类中包含的所有元素的方法_php技巧

本文实例讲述了php遍历类中包含的所有元素的方法.分享给大家供大家参考.具体分析如下: 这里可获得php类包含的所有元素以key-value的形式输出 class MyTestClass{ const TESTVAR1 = 1001; const TESTVAR2 = 1002; const TESTSTR1 = 'hello'; } $rc = new ReflectionClass('MyTestClass'); $v = $rc->getConstants(); asort($v);//

在Java的Spring框架的程序中使用JDBC API操作数据库_java

同时与数据库使用普通的旧JDBC的工作,它变得繁琐写不必要的代码来处理异常,打开和关闭数据库连接等,但Spring的JDBC框架需要的所有低层次细节从打开连接,准备和执行SQL语句,过程异常,处理事务,最后关闭连接. 所以,你所要做的只是定义连接参数,并指定要执行的SQL语句,并做必要的工作,在每次迭代时从数据库中获取数据. Spring JDBC提供了一些方法和相应不同的类与数据库进行交互.我要采取经典和最流行的做法,利用JdbcTemplateclass框架.这是管理的所有数据库的通信和异常

js类中获取外部函数名的方法_javascript技巧

比如我们要在一个类中设定一个方法可以根据调入一个方法保存在类变量中,等需要的时候可以通过访问类变量来得到. 通常如果我们生成一个实例 如:var temp=new TopnetTree(); 如果我们通过设定属性的方式来传入一个方法,会发现传入的是一个函数的内容,而非函数名. 如temp.fileAction=fnTest; //fnTest是一个函数 于是偶就写了一个方法来实现此功能. 通过arguments来判断判断传入内容: 实现如下功能: 传入内容为空,不执行任何内容 传入一个参数,则表