栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

知识点小记 2(Spring):IOC 与DI

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

知识点小记 2(Spring):IOC 与DI

IOC:是指控制反转,是一种设计理念,IOC不是某一种具体技术的实现,IOC是一种设计理念!IOC是一种设计理念!IOC是一种设计理念!他要求由第三方来对对象进行控制和创建。

1, IDAO dao = new UserDAO()

使用接口对类进行抽象,如果当前工程由1000个类需要Dao,那么就需要写1000行这样的代码,但是如果某天不再使用UserDao,而是要使用新的User类,我们就需要去找到这些代码进行修改,工作量非常大。

对于当前使用new 的方式,是指在编译时就决定了当前对象就是UserDAO(),不可能有其他的变化。故考虑在运行时动态的对对象进行创建。

2,在第一个问题的困扰下,Spring最早的版本就出现了

IDao dao = (IDao)new applicationContext.getBean("userDAO")

没有任何与UserDAO,相关的东西,程序编译时并不知道要绑定哪一个对象,只有在运行之后

由applicationContext这个用于管理对象的容器来决定生成哪个对象

userDAO与我们的配置文件是相对应的

配置文件:

userDAO 与userDAO相匹配,实例化了UserDAO对象,在程序运行时由applicationContext

对象动态实例化UserDAO。

如果要将UserDAO改为UserExtDao,只用在配置文件中改为UserExtDao。

通过applicationContext这个用于管理对象的容器,可以将整个程序的依赖有效的进行解耦.

关于控制反转:在原始的情况下,使用new关键字,叫做正向控制,由程序决定创建哪个对象。

控制反转就是将对象的控制权交给第三方的对象容器,由对象容器在运行时创建对象,赋给对应的

变量。IOC的好处是让我们对象与对象的引用进行了解耦,当系统底层的类发生变化时,只需要修

改配置文件即可。

applicationContext:们这个对象的作用就是对配置文件中的对象进行创建和控制,所以

applicationContext这个对象被称为IOC容器。

DI:DI依赖注入,具体的技术实现,是对我们宏观的IOC理念的一种技术上的诠释,在Spring中使用反射二号工厂模式来实现DI,由对象容器运行时动态注入对象。

主要基于

1.反射:在运行时进行运行,创建,办理,

2,工厂模式

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1041072.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号