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

【Java面试题】谈谈你对Spring IOC 和DI的理解?

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

【Java面试题】谈谈你对Spring IOC 和DI的理解?

一个工作4年的Java程序员,Spring都用了4年了,竟然连Spring里面这么基础的问题都回答不好。

还以为像3~4年前一样,随便准备一下就可以拿到一个薪资不错的Offer。

同学们,这种好日子已经过去了,对于Java程序员来说,未来找工作一定会越来越难。

今天分享的面试提示:谈谈你对Spring IOC和DI的理解。

我把高手的回答整理到了一个10W字的面试文档里面,大家可以点击文章尾端名片扫描二维码领取。

下面看看高手的回答。

高手:

首先,Spring IOC,全称控制反转(Inversion of Control)。

在传统的Java程序开发中,我们只能通过new关键字来创建对象,这种导致程序中对象的依赖关系比较复杂,耦合度较高。

而IOC的主要作用是实现了对象的管理,也就是我们把设计好的对象交给了IOC容器控制,然后在需要用到目标对象的时候,直接从容器中去获取。

有了IOC容器来管理Bean以后,相当于把对象的创建和查找依赖对象的控制权交给了容器,这种设计理念使得对象与对象之间是一种松耦合状态,极大提升了程序的灵活性以及功能的复用性。

然后,DI表示依赖注入,也就是对于IOC容器中管理的Bean,如果Bean之间存在依赖关系,那么IOC容器需要自动实现依赖对象的实例注入,通常有三种方法来描述Bean之间的依赖关系。

  1. 接口注入

  2. setter注入

  3. 构造器注入

另外,为了更加灵活的实现Bean实例的依赖注入,Spring还提供了@Resource和@Autowired这两个注解。

分别是根据bean的id和bean的类型来实现依赖注入。

总结

这个问题一般考察1~3年左右的程序员。

基础的考察本身就是为了确保求职者对常用技术的理解程度。

避免在开发过程中写出一些莫名其妙的bug。

未来建议大家可以深度的去研究一下Spring的源码,它的代码设计以及对面向对象的使用达到了炉火纯青的地步,有助于提升我们的编码能力。

另外,我将所有Java面试系列制作成了完整的面试文档。它的便捷之处在于,可以通过检索的方式,找到你想要的面试题,目前已经更新180期,总计超过15W字!

【想领取面试文档的小伙伴可以点击文章底部名片无套路免费赠送给大家!】

需要高手面试文档面试文档的小伙伴可以扫描下方二维码
↓↓↓↓↓↓↓↓↓↓↓↓↓

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

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

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