Java学习总结--067 依赖注入DI

本文深入讲解了Spring框架中的依赖注入(DI)概念,包括构造器注入、setter注入、各种类型如数组、List、Map、Set的注入方式,以及空值和Properties的注入。同时介绍了p命名空间和c命名空间的注入技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

依赖注入

DI (Dependency Injection)

依赖:指bean对象的创建依赖于Spring容器。bean对象依赖的资源

注入:指Bean对象所依赖的资源,由容器来设置和装配。

构造器注入

  • 有参
  • 无参

setter注入

要求被注入的属性,必须有set方法。set方法的名字需要规范

set+属性名(属性名字母大写);

1.1 常量注入

<!--普通字段-->
<property name="name" value="小明"/>

1.2 Bean注入

<!--引用其他bean使用ref-->
<property name="address" ref="addr"/>

1.3 数组注入

<!--数组的注入-->
<property name="books">
    <array>
        <value>西游记</value>
        <value>水浒传</value>
        <value>红楼梦</value>
        <value>三国演义</value>
    </array>
</property>

1.4 List注入

<!--List注入-->
<property name="hobbys">
    <list>
        <value>女孩</value>
        <value>代码</value>
        <value>电影</value>
        <value>音乐</value>
    </list>
</property>

1.5 Map注入

标签:entry

键:使用key

值: 使用value

<!--Map的注入-->
<property name="card">
    <map>
        <entry key="IdCard" value="666666888888884444"/>
        <entry key="银行卡" value="111122223333444"/>
    </map>
</property>

1.6 Set注入

<!--Set注入-->
<property name="games">
    <set>
        <value>王者荣耀</value>
        <value>贪玩蓝月</value>
        <value>绝地求生</value>
        <value>LOL</value>
    </set>
</property>

1.7 空值注入

<!--Null空值注入-->
<property name="girlFriend">
    <null/>
</property>

1.8 Properties注入

props标签

键使用key

值,在标签中间;

<!--Properties注入-->
<property name="info">
    <props>
        <prop key="学号">201932301</prop>
        <prop key="性别">男</prop>
        <prop key="姓名">小明</prop>
    </props>
</property>

拓展1:p命名空间注入

【注意点:需要导入对应的约束文件】

属性的注入

<!--p:property属性,命名空间注入-->
<bean id="user1" class="com.kuang.pojo.User" p:name="狂神" p:age="18"/>

拓展2:c命名空间注入

构造器的注入

<!--c:constructor构造器:命名空间注入-->
<bean id="user2" class="com.kuang.pojo.User" c:name="狂神" c:age="19"/>

Spring就是一个粘合剂,托管所有的对象;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值