一、前言
作为一只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 hibernate注解事务没有提交导致数据没有保存数据库 spring事务配置多个目录包多个切点execution的方法spring mybatis多数据源 对应不同包spring boot 注解@scheduled实现定时任务sparksession与sparkcontext概念详解spark 基础概念和运行原理php 进程控制扩展 libeventphp 影响 php 行为的扩展 输出缓冲控制php 流程控制 elseif/else ifphp 流程控制 forphp 语言参考 流程控制php 类与对象 访问控制(可见性)php 概念 连接池与切换php 概念 service level and consistencyphp 概念 事务控制spring boot和spring cloud 版本对应关系(官方)spring boot 整合 mybait 最简洁的方式spring cloud alibaba 之 seata 案例spring security oauth2 jwt rsa非对称加密
关注编程学问公众号