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、付费专栏及课程。

余额充值