spring中的IOC是什么意思

为什么要使用IOC而不是new来创建实例

java分享会

分享人:曹樾

1.背景介绍

2.知识剖析

3.常见问题

4.解决方案

5.编码实战

6.扩展思考

7.参考文献

8.更多讨论

1.背景介绍

先介绍下背景

spring是什么?

一个为了解决企业应用开发的复杂性而创建的开源框架

一个轻量级的控制反转(IOC)面向切面(AOP)的容器框架

2.知识剖析

spring中的IOC是什么意思

spring通过IOC即控制反转促进了松耦合

一个对象依赖的其他对象会通过被动的方式传递进来

而不是这个对象自己创建或者查找依赖对象

为什么要使用IOC而不是new来创建实例

调用者直接使用new创建被调用者的实例,两者之间耦合度很高

要由调用者亲自创建被调用者的实例对象,不利于软件的移植与维护

3.常见问题

IOC有哪些缺点

创建对象的步骤变复杂了

通过反射来创建对象,会造成效率上的损耗

缺少IDE重构的支持,如果修改了类名还需要到XML文件中手动修改

4.解决方案

相比IOC的灵活性和可维护性来说这点缺点是可以忍受的

5.编码实战

6.扩展思考

spring控制反转是控制什么反转

IOC控制反转,强调容器的作用

用于组织或控制容器内bean的运行

把传统上有程序代码直接操控的对象的调用权交给容器

7.参考文献

w3cschool spring概述

百度

8.更多讨论

什么是bean

由IOC容器管理的那些组成你应用程序的对象就是bean,是由spring容器初始化,装配以及管理的对象

鸣谢

感谢观看,如有出错,恳请指正

BY : 曹樾