spring02 IOC DI

IOC、DI

1. Spring 给对象的属性赋值的两种方式

   1. 有参构造注入

       1. 必须提供有参构造方法

 @AllArgsConstructor
 public class Student {

 }

      2. applicationContext.xml配置

<!--通过有参构造方法给属性赋值创建Student组件对象-->
<bean id="stu" class="com.bdqn.pojo.Student">
    <constructor-arg name="sno" value="1001"></constructor-arg>
    <constructor-arg name="name" value="小张"></constructor-arg>
    <constructor-arg name="age" value="18"></constructor-arg>
</bean>

    index: 索引,索引号从0开始

  type:类型   

name:名称

    value: 赋值:基本类型和基本类型的包装类以及String类型。

    ref :值 需要引用另一个对象

  

  2. 设值注入 (set方法赋值)

     1. 必须提供set方法

 @Data
 public class Student {

 }

     2. 配置文件中配置

<!--通过set注入给属性赋值,创建Student组件对象-->
<bean id="stu2" class="com.bdqn.pojo.Student">
    <property name="sno" value="1002"></property>
    <property name="name" value="翠花"></property>
    <property name="age" value="19"></property>
</bean>

2. 属性不同数据类型赋值的语法
  1. 基本类型或基本类型的包装类或String字符串类型

<!--基本类型或String类型赋值-->
<property name="sno" value="1008"></property>
<property name="name">
    <value>老王</value>
</property>

  2. 数组类型

<property name="nickNames">
    <array>
        <value>王王</value>
        <value>老老</value>
    </array>
</property>

  3. List 类型

<property name="nickNames">
    <list>
        <value>王王</value>
        <value>老老</value>
    </list>
</property>

  4. Set 类型

<property name="nickNames">
    <set>
        <value>王王</value>
        <value>老老</value>
    </set>
</property>

  5. Map 类型

<property name="girls">
    <map>
        <entry key="1" value="村花"></entry>
        <entry key="2" value="翠花"></entry>
    </map>
</property>

 6. Properties类型 ,属性配置类型

<property name="properties">
    <props>
        <prop key="qq">138389438</prop>
        <prop key="pwd">520209420</prop>
    </props>
</property>

3. DI

 DI: 依赖注入(Dependency Injection),IOC和DI完全一样。

    在一个类对象(service)中需要依赖于另一个类对象(dao),

将另一个类对象(dao)注入给对象(service)的过程,称为依赖注入。

  示例:

<bean id="stu3" class="com.bdqn.pojo.Student">

<!--将年级对象注入给学生对象的年级属性-->
    <property name="grade" ref="grade"></property>
</bean>

<!--创建年级对象组件-->

<bean id="grade" class="com.bdqn.pojo.Grade">
    <property name="id" value="1"></property>
    <property name="name" value="S3"></property>
</bean>

4. 查看Spring容器中管理所有对象

String[] names=ac.getBeanDefinitionNames();

   for (String name : names) {

System.out.println(name);

   }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值