Spring进阶——Spring使用和Bean创建原理

本文详细介绍了Spring中的IOC(控制反转)和DI(依赖注入)概念,阐述了它们在Spring框架中的作用,降低了组件间的耦合。讨论了DI的不同实现方式,包括set注入、构造注入和自动注入,并解释了自动注入的工作原理。同时,文章讲解了Bean的创建模式,如singleton和prototype,以及Bean的生命周期。此外,还提到了工厂Bean的概念,它是Spring工厂中用于创建特定对象的特殊Bean。最后,简要探讨了Bean的创建过程,指出了关键API和调试代码的切入点。
摘要由CSDN通过智能技术生成

1. IOC

`Inverse Of Controll`:控制反转

反转了依赖关系的满足方式,由之前的自己创建依赖对象,变为由工厂推送。(变主动为被动,即反转)

解决了具有依赖关系的组件之间的强耦合,使得项目形态更加稳健

2. DI

`Dependency Injection`:依赖注入

全新的依赖满足方式,体现在编码中就是全新的赋值方式 ==> `在工厂中为属性推送值`

如:`<property name="userDAO" ref="userDAO"></property>`

3. IOC 和 DI

在spring中关于IOC和DI的描述是这样的: `IOC(DI)`,即,是一码事

`IOC 是思想`:指导我们在满足依赖时,应该有反转的设计。

`DI 是手段`:实际操作时,就是在一次次的 注入

spring官方文档中,关于[DI](https://docs.spring.io/spring/docs/current/spring-framework-reference/core.html#beans-factory-collaborators)的解释:

`This process is fundamentally the inverse (hence the name, Inversion of Control) of the bean itself controlling the instantiation or location of its dependencies on its own by using direct construction of classes or the Service Locator pattern`

4.DI的配置使用

1. DI的方式

  • set注入
  • 借助set方法完成注入
  • 构造注入 (了解)
  • 借助构造方法完成注入
  • 自动注入
  • spring自动识别属性,并注入

2. set注入(使用较为频繁)

<bean id="setDI" class="x.xx.XXX">
    <!-- jdk 8种基本类型+String -->
    <property name="age" value="18"></property>
    <property name="name" value="zhj"></property>
    <property name="gender" value="true"></property>
    <!-- 引用类型  -->
    <property name="userDAO" ref="ud"></property>
    <!-- List或数组 -->
    <property name="list">
        <list>
            <value>18</value>
            <ref bean="ud"/>
        </list>
    </property>
    <!-- set -->
    
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值