2020年JAVA面试208题

什么是控制反转


Listen Later



1 IOC 是控制反转, Inversion of Control。

2 控制反转不是一种语法,不是类或方法,它是一种设计模式

3 当A类依赖于B类,如果不使用控制反转,A类要主动创建B类的对象,也就是new B类,这时候控制权在A类的手中,这就是主动控制; 使用控制反转,A类只要声明自己需要B类,而控制权交给Spring容器,Spring容器在A需要B类的时候为其注入B类即可,这时候控制权在Spring容器手中,即控制反转了。

4 好处是什么呢?控制反转后A类与B类的耦合性就降低了,程序更加灵活。

5 比如,一家公司为了卫生和清洁,需要有人打扫卫生,这家公司可以自己聘用一个保洁,就是将管理保洁的权利控制在自己手中,自己new一个保洁,那么这个保洁请假、调休、年终福利、婚丧嫁娶都要操心,太麻烦了,公司和这个保洁紧紧地绑在 一起,给公司带了了很大的负担。

公司决定采用控制反转模式,将保洁管理的权限交给物业来做,自己需要保洁的时候,由物业来分配一个保洁即可,公司和保洁直接就就没有什么关系了,松耦合了,这时候物业公司就是Spring容器,公司将保洁的控制权反转给了物业公司,当公司需要保洁的时候,物业公司将一个保洁注入到公司即可。

这就是控制反转模式。









...more
View all episodesView all episodes
Download on the App Store

2020年JAVA面试208题By 小崔爱读书


More shows like 2020年JAVA面试208题

View all
What's Next|科技早知道 by 声动活泼

What's Next|科技早知道

178 Listeners

声动早咖啡 by 声动活泼

声动早咖啡

264 Listeners

半拿铁 | 商业沉浮录 by 潇磊&刘飞

半拿铁 | 商业沉浮录

289 Listeners

天真不天真 by 杨天真本真

天真不天真

262 Listeners