一、前言
作为一只java猿必须会spring,在开发中必用,也是我见过最好的java框架了,没有之一。并不是因为它功能强大,而是编程思想强大。我们在学习spring的时候会讲到,spring的核心就是ioc控制反转,然后一大篇文章讲解什么是ioc控制反转。然后你还是不明白,呵呵,真不明白这些砖稼叫兽为什么写那么多,明明一句话就能说清楚的事,非得装逼格高深。下面就看看一句话解释ioc控制反转(超过2句话你还不懂你扔砖过来)。
二、什么是IOC控制反转
你现在写java代码调用另外一个内中的方法,要先new一个对象,spring中就不这么玩了,不需要你new,都交给控制器。
是不是瞬间眼前一亮,所以ioc并不是什么高深技术,而是调用对象的一种编程思想。你知道ioc控制反转是什么了,下面讲解ioc控制反转是怎么一个思想。
1.控制反转中的控制:
传统Java SE程序设计,我们直接在对象内部通过new进行创建对象,是程序自己去控制要调用的对象。而IoC是有专门一个容器来创建这些对象,即由Ioc容器来控制对 象的创建;
2.控制反转中的反转:
正转就是传统应用程序是由我们自己在对象中主动控制去直接获取依赖对象,也及时直接new。而反转则是由容器来帮忙创建及注入依赖对象,对象是被动的被注入进来的,而不是用new创建的。
三、控制反转的优点
IOC的优点:实现组件之间的解耦,提高程序的灵活性和可维护性。
四、ioc控制反转的实现-依赖注入
说了ioc控制反转是一种编程思想,而不是技术,那么怎么实现这种思想呢,那就是依赖注入。所以说依赖注入是ioc控制反转的一种实现方式。所以为什么一般我们讲的依赖注入和控制反转是一回事。
相关文章
spring ioc控制反转概念详解spring security自定义登录界面报错:logout isn t a valid redirect urlspring security自定义登录界面出现is authenticated anonymously错误spring security http intercept url access配置所有的属性值穷举列表sharding jdbc+spring boot+mybatis根据日期分表案例spring boot mybatis 注解切换多数据源kafka 消息技术 概念和原理scala 访问控制修饰符mysql 基本的jdbc概念php 进程控制扩展 进程控制php 进程控制扩展 phtphp 流程控制 gotophp 流程控制 ifphp 字符串 函数 反转字符串php 概念 supported clustersphp 概念 事务控制php 概念 短错误php 输出控制 预定义常量spring cloud oauth2 微服务 统一认证授权 框架搭建解决spring cloud feign模式下 访问服务统一认证的问题
关注编程学问公众号
