学Spring肯定是要学到其中的精髓,想问各位,对于Spring的IoC和DI的理解。
之前用jsp做网站,对越多态,继承应用的不够,在Spring框架下算是对java的多态有更多的体现了
对IoC和DI的理解:1. 依赖注入和控制反转是从两个角度表达的同一个概念,前者从Spring角度,后者从调用者角度。2. 控制反转:当某个Java对象(调用者)需要调用另一个Java对象(被调用者,也就是被依赖对象)时,通常调用者会采用“new 被调用者”来创建对象,这样有一个痛点就是增强了调用者和被调用者之间的代码耦合,后期不好维护等等。所以在Spring框架中,对象的实例不再由调用者来创建了,而是由Spring容器来创建,控制权由我们写的代码(new 被调用者)转移到了Spring容器,这就是所谓的控制反转。2. 依赖注入:是从Spring角度看的,Spring容器负责将被依赖对象(被调用者)赋值给调用者,这相当于为调用者注入了它依赖的实例,这就是所谓的依赖注入。
再给一张图:
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。