为了账号安全,请及时绑定邮箱和手机立即绑定

Spring在创建实例对象时是如何决定调用的是无参构造方法还是带参构造方法?

Spring在创建实例对象时是如何决定调用的是无参构造方法还是带参构造方法?

SMILET 2019-02-21 21:51:20
**在下面的两个例子中,其中在Teacher类中只有一个无参构造方法,在Student类中只有一个带参构造方法,为什么它们都能运行,Spring是如何决定创建实例对象时调用的是无参构造还是带参构造?(应该看哪部分源码)** 例一: public class Teacher{ //只有一个无参构造方法 public Teacher(){ System.out.println("无参构造"); } } 在applicationContext.xml中: <bean id="teacher" class="省略" /> 例二: public class Student{ private String name; private int age; //只有一个带参构造方法 public Student(String name,int age){ System.out.println("带参构造"); } } 在applicationContext.xml中: <bean id="student" class="省略"> <constructor-arg name="name" value="张三"/> <constructor-arg name="age" value="10"/> </bean>
查看完整描述

2 回答

?
潇潇雨雨

TA贡献1833条经验 获得超4个赞

你不是已经指定了constructor-arg么

查看完整回答
反对 回复 2019-03-01
?
慕容森

TA贡献1853条经验 获得超18个赞

按你的例子来说 就是根据constructor-arg反射得到对应的构造函数

查看完整回答
反对 回复 2019-03-01
  • 2 回答
  • 0 关注
  • 2061 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信