一、前言
作为一只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事务管理配置的三种方法介绍java JSP中获取Spring注入对象bean的方法spring ioc控制反转概念详解spring+hibernate quartz定时任务methodinvokingjobdetailfactorybean异常spring security密码md5加密和standardpasswordencoder的配置详解spring cache @cacheable @cacheput @cacheevict缓存注解详解spring cache缓存介绍mysql 流程控制构造mysql 用于控制主服务器的sql语句php 进程控制扩展 shared memoryphp 进程控制扩展 syncphp ctype 函数 做控制字符检测php 流程控制 include oncephp mysqlnd ms 概念php 概念 cache integrationphp 概念 事务控制php 函数参考 进程控制扩展php sphinxclient 控制搜索结果集的返回格式Spring Cloud Eureka 配置项 介绍spring boot mongodb 多数据源 自动下划线转驼峰
关注编程学问公众号