Spring IOC的理解

spring学习之后,对IOC有了一个理解,这里是做一下笔记,给自己加深一下印象,以便后期查看。。。。

首先,得先理解spring中的一个东西(自己的理解,希望有错误的地方可以指出来,谢谢)。

1. Spring Bean:
Spring Bean是被实例的,组装的及被Spring 容器管理的Java对象。(说白了就是理解成是一个java对象,只是这个对象是被java的IOC容器管理的,但是ioc管理了什么(通过依赖注入,装配对象,配置对象,并且管理这些对象的整个生命周期),后面对象的生命周期,创建模式我会说到)。
在这里插入图片描述
类似这样的,我们在xml中配置了一个beanFactroy,对象所在的class,这样spring容器就帮我们创建好了
Spring IOC容器是什么样子的呢,理解成一个map就可以了,key存放的就是上图中bean的id,value存放的就是该对象。
这样我们使用IOC就可以获取到容器中为我们配置好的beans

2. IOC控制反转:

以前我们创建对象的时候都是直接new出来的,这样增加了代码之间的耦合,为什么会new出来会增加代码之间的耦合呢,我们知道new出来的对象是依赖于其他的类,或者其他的jar包中的对象,我们在new的时候就有很强的依赖关系,这样就产生了高耦合,而IOC是怎么做的呢,IOC通过反射的方式创建对象,这样的方式就减低了程序之间的耦合关系。

在这里插入图片描述
这样之后我们就不需要new了,而是由spring为我们创建出来,我们通过注解注入进来就OK了,
自动注入会根据容器中的beans类型来注入。

3. 对象创创建的声明周期
在IOC中,如果我们不限定对象的单例多例,分为两种情况

单例的生命周期:
单例是容器创建的时候就会创建我们声明的bean,
而销毁也是容器销毁,bean也会被销毁。

多例的生命周期:
多例会在对象被调用的时候创建、
但是销毁是由java的GC回收的。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

丶moli

您的鼓励是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值