博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
对Spring IOC的理解
阅读量:5900 次
发布时间:2019-06-19

本文共 844 字,大约阅读时间需要 2 分钟。

        这几天正在学习Spring,所以我说说自己对Spring IOC的理解。

        IOC是Spring的核心。IOC,控制反转,指应用程序不对依赖对象进行创建与维护,依赖对象的创建与维护有外部容器(也就是Spring容器)负责。通俗的说,就是我们不在类的内部new一个对象了,new对象的操作交给外部容器来做,这样控制权就从应用程序转移到了外部容器,即所谓的反转。

        那么,将对象的创建交给外部容器来做,外部容器又是怎样创建对象的呢?这里就用到DI(也就是依赖注入)了,所谓的DI就是指在运行时,由外部容器动态地将依赖对象注入到组件中。在网上看见有人说,控制反转就是注入依赖。后来查了一下,这是不对的,依赖注入其实是IOC的一种特殊形式,IOC分为依赖注入和依赖查找两种。依赖注入又分为构造方法依赖注入和设置方法依赖注入,而依赖查找分为依赖拖拽和上下文依赖查询。

       依赖注入。当我们需要使用组件前就需要依赖实例的话,我们应该使用构造方法注入。其实我们最常用到的还是设置方法注入,他是侵入性最低的注入机制。Spring同时支持两种方式的注入。

       依赖查找。BeanFactory是Spring IOC容器的核心,它负责管理组件和他们之间的依赖。在Spring中,bean表示任何受容器管理的组件,在一定程度上遵循JavaBean规范,但不是必须的。BeanFactory.getBean(beanName)就是对bean进行查找。在上下文依赖查找中,查找的过程是在容器管理的资源中进行的,而不是在集中的注册表中,并且通常是作用于某些设置点上。

        此外,在网上看见这样一句话来形容IOC,觉得很有意思,拿来说说:

1、未用IOC:一个人背着一大包炸药去炸敌人的一座碉堡

2、采用IOC:这个人什么都不带跑到敌人碉堡下,然后打电话给总部说,把炸药给我扔过来。

        看见这篇文章的朋友如果有什么意见,不妨说出来,大家交流学习。

转载于:https://my.oschina.net/wxcchd/blog/56811

你可能感兴趣的文章
WinForm窗体缩放动画
查看>>
JQuery入门(2)
查看>>
linux文件描述符
查看>>
传值引用和调用引用的区别
查看>>
hyper-v 无线网连接
查看>>
Python3.7.1学习(六)RabbitMQ在Windows环境下的安装
查看>>
Windows下memcached的安装配置
查看>>
ubuntu: firefox+flashplay
查看>>
常见的海量数据处理方法
查看>>
web.xml 中CharacterEncodingFilter类的学习
查看>>
贪吃蛇逻辑代码
查看>>
实现c协程
查看>>
ASP.NET视频教程 手把手教你做企业论坛网站 视频教程
查看>>
[LeetCode] Meeting Rooms II
查看>>
从Swift学习iOS开发的路线指引
查看>>
Scribes:小型文本编辑器,支持远程编辑
查看>>
ssh 安装笔记
查看>>
游戏音效下载网站大全
查看>>
实验五
查看>>
3-继承
查看>>