一、前言
作为一只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控制反转的一种实现方式。所以为什么一般我们讲的依赖注入和控制反转是一回事。
相关文章
myeclipse搭建ssh2 struts2+spring+hibernate 整合框架平台spring could not obtain transaction synchronized session for current threadspring ioc控制反转概念详解spring security http intercept url access配置所有的属性值穷举列表spring security+extjs 自定义登录和退出登录界面完整代码案例spring boot applicationrunner 项目启动时初始化运行方法spring boot redis缓存教程附源码 基于注解和redistemplate mysql 访问控制 阶段1:连接核实mysql 控制流程函数mysql簇的基本概念php 进程控制扩展 posixphp 进程控制扩展 pthreadsphp 流程控制 简介php 流程控制 switchphp 类与对象 基本概念php 概念 事务控制php 输出控制 范例php 输出控制 安装/配置eureka server 开启 spring security 安全认证Spring Security permitAll开放页面权限 解除token验证的问题
关注编程学问公众号