Spring框架学习记录——IoC


前言

Spring框架脱胎于工厂模式。
在工厂模式的发展过程中,实际上是应用程序和资源之间不断解耦合的过程


一、IoC是什么?


通过数次的迭代,最终将应用程序和资源之间的耦合转换成了配置文件和资源之间的耦合,这样以来可以通过直接修改配置文件的形式实现原本需要修改代码完成的事情。
在这里插入图片描述
IoC的概念是控制反转。在传统的开发中,对象的控制权在类手中(需要手动new对象来实现调用),而在Spring中,对象的控制权在spring提供的IoC容器中,这就是主动变被动——主动申请资源变成被动等待spring分配资源

二、IoC配置

1.bean

在这里插入图片描述
注意:spring容器中的bean定义冲突问题
在这里插入图片描述

bean的重要属性——scope

在这里插入图片描述
单例和非单例在spring中的本质区别——

  1. 单例对象在spring加载IoC容器时(读取xml配置文件)就已经创建好了
  2. 非单例对象在调用(getBean)时才创建,调用一次,创建一次。
  3. 特别注意:当使用spring配置非单例对象的时候,这个对象不归容器进行管理,spring仅仅负责new出来这个对象

bean的重要属性—— init-method & destroy-method

在这里插入图片描述

bean的属性——factory-bean,factory-method(了解)

在这里插入图片描述
应用场景:使用第三方类、对遗留系统进行开发时(未使用spring)

2、依赖注入DI

IoC的理念是针对spring容器来说的,而对于等待spring容器提供资源的应用程序,相应的有依赖注入的概念——应用程序依赖spring提供的资源,资源进入应用程序的方式就叫注入。
IoC和DI,指的是同一件事,同时发生,只是从不同的角度出发

set注入(主流、必会)

在这里插入图片描述
注意:

  1. ref属性用于bean,比如dao等
  2. value属性用于非引用类型(非bean),比如常见的int、string类型的变量
  3. 一个bean可以用多个property

set注入的实现步骤:

  1. 对需要进行注入的变量添加set方法
  2. 在配置文件中将需要注入的资源加载为bean(保证这个资源受spring的控制)
  3. 为被注入的对象添加property属性。name为属性名,ref为将要注入bean的id

构造器注入(不常用)

set注入我们使用set方法进行注入。
在构造器注入中则使用构造方法(一般用于对遗留代码进行兼容开发)
在这里插入图片描述
在这里插入图片描述

总结

未完待续

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值