Spring04:IOC创建对象的方式

4、IOC创建对象的方式

  1. Spring在创建对象时,默认使用无参构造创建对象

    默认是使用无参构造, 不要和property混淆,这个相当于使用set方法去赋值,并不是使用构造方法,(构造方法赋值后面再说)这里也可以不用property属性,那么就不调用set方法,成员变量的值就为堆中的默认值
    
  2. 假设我们要使用带参构造器创建对象 -->三种方式

    1. 使用下标赋值(不建议)

      <bean id="user" class="cn.edu.cxtc.domain.User">
          <constructor-arg index="0" value="张皓程"></constructor-arg>
      </bean>
      
    2. 类型赋值(不建议)

      <!--第二种方式:通过有参构造中变量的类型赋值,不建议使用-->
      <bean id="user" class="cn.edu.cxtc.domain.User">
          <constructor-arg type="java.lang.String" value="zhanghaocheng"></constructor-arg>
      </bean>
      
    3. 通过参数名构造:推荐

      <!--第三种:直接通过参数名来设置构造-->
      <bean id="user" class="cn.edu.cxtc.domain.User">
          <constructor-arg name="name" value="sushana"></constructor-arg>
      </bean>
      

总结:在beans.xml配置文件加载的时候,Spring容器中管理的对象(bean)就已经初始化了,xml中所有管理的对象都已经被创建出来了(实例化),而且在堆中都是同一个对象(singleton),我们需要谁,就getBean(“id”)就得到了谁。

IOC创建对象的方式:无参和 有参构造, 有参构造又有三种赋值的方式,推荐使用第三种赋值

建议:在创建JavaBean时,建议有参构造和无参构造都写上, 这样子不管使用哪种方法创建对象,在bean.xml配置文件中都不会报错了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值