spring揭秘(二)——IoC容器的基本概念
2016-11-27 20:44
253 查看
IoC容器的基本概念
我们的理念:让别人为你服务Ioc,全称Inversion of Controller,中文翻译为控制反转。反转就是让你从原来的事必躬亲,转变为现在的享受服务。我们通常的做事方式,如果我们依赖于某个类或服务,最简单而有效的方式就是直接在类的构造函数中新建相应的依赖类。这是我们自己主动去获取依赖的对象,而控制反转说指我们需要什么对象,直接告诉IoC Service Provider,它就把需要的对象创建好给我们,就像你来到酒吧,直接招呼服务生,让他给你送一杯冰啤,而不需要你自己去。
IoC三种依赖注入方式
构造方法注入被注入对象可以通过在其构造方法中声明依赖对象的参赛列表,让Ioc容器知道它需要哪些依赖对象
setter方法注入
对于JavaBean对象来说,通常会通过setXXX()和getXXX()方法来访问对应属性。这些setXXX()方法通称为setter方法。
接口注入
被注入对象如果想要IoC Service Provider为其注入依赖对象,就必须现实某个接口。这个接口提供一个方法,用来为其注入依赖对象。
三种注入方式的比较
接口注入从注入方式使用上来说,接口注入是现在不提倡的一种方式。基 本处于退役状态。因为它强制被注入对象实现不必要的接口,带有侵入性。
构造方法注入
这种注入方式的优点是,对象在构造完成之后,即可进入就绪状态,可以马上使用。缺点就是,当依赖对象比较多时,构造方法的参数会比较长。而通过反射构造对象的时候,对相同类型的参数的处理会比较困难,维护和使用上也比较麻烦。而且在java中,构造方法无法被继承,无法设置默认值。
setter方法
因为方法可以命名,所以setter方法注入在描述性上要比构造方法注入好一些。另外,setter方法可以被继承,允许设置默认值,而且有良好的IDE支持。缺点就是对象无法在构造完成后马上进入就绪状态。
相关文章推荐
- Spring参考手册-第三章 IoC容器-3.2 基本概念-容器和Beans(豆子)
- Ioc的基本概念《Spring揭秘》第2章笔记
- Spring——IOC容器基本概念
- IoC容器Autofac之IOC/DI基本概念(二)
- 《Spring揭秘》第二章 读书笔记 —— IoC的基本概念
- Docker 镜像、容器、仓库的概念及基本操作
- IOC和AOP的一些基本概念
- Docker 教程之基本概念(镜像,容器,仓库)详解
- Spring入门教程(一)IOC 基本概念
- Flex 容器基本概念
- IOC和AOP的一些基本概念
- Spring学习--IOC容器的概念及一个简单IOC容器使用案例
- 王福强老师的《Spring揭秘》读后感-IOC容器之ApplicationContext相关
- 【Spring揭秘】------ 第二章学习 Ioc的基本概念
- Docker三个基本概念镜像(Image)容器(Container)仓库(Repository)
- Spring.Net 基本概念介绍 (1) - ioc _(收集)
- Spring学习篇01-Spring容器相关基本概念
- java容器基本概念
- Spring 基本概念和 IOC
- IOC 的基本概念