其他分享
首页 > 其他分享> > Spring Framework (二) -- IOC

Spring Framework (二) -- IOC

作者:互联网

Spring Framework (二)

本篇博客的主要内容是介绍Spring框架中的一个核心:IOC

1. 什么是IOC?

IoC:Inversion of Control,控制反转。是一种思想,即将创建对象的控制权交给外部环境(如:交给Spring框架)。

2. 为什么要有IOC?

传统创建对象或实例化的方式是通过关键字new来实现,这种方式存在的弊端是耦合度高。软件设计追求的是高内聚低耦合,因此提出了用IoC容器(Spring)来实例化对象

IoC思想就是将对象的控制权交给IoC容器管理,在使用的时候直接向IoC容器要即可

在Spring中用来实现IoC的载体就是IoC容器,实际上是Map,存放着各种对象。

3. 如何实现IOC?

Ioc核心思想就是把对象的控制权(包括创建和调用对象)交给IoC容器。

Spring框架中,如何创建一个对象?

<bean id="对象标志" class="欲创建对象所属类的全限定名"></bean>
全限定名指的是:目标类编译后class文件所在位置

Spring中怎么实现IOC容器?

Spring中提供两种实现IOC容器的实现方式:

//绝对路径
ApplicationContext ac = new FileSystemXmlApplicationContext("D:\\code\\spring-01\\target\\classes\\beans.xml");

//相对路径
ApplicationContext ac = new ClassPathXmlApplicationContext("beans.xml");

【总结】控制反转是一种思想,是能够解决问题的一种可能的结果,而依赖注入(Dependency Injection)就是其最典型的实现方法。由第三方(我们称作IOC容器)来控制依赖,把他通过构造函数、属性或者工厂模式等方法,注入到类A内,这样就极大程度的对类A和类B进行了解耦。

IoC典型的实现方式叫做DI:Dependency Injection,依赖注入。
依赖:对象合作的其他对象

创建对象之后,给对象属性赋值需要使用依赖注入

4. 如何实现属性注入?

实现属性注入一般有两种方式:基于注解的注入属性和基于xml注入属性。

4.1 基于注解的注入属性

Step 1 : 利用注解component创建对象

Step 2 : 组件扫描器扫描

4.2 基于xml的注入属性

基于xml的注入属性共有三种注入方式:set注入,构造注入以及自动注入。

[注入简单类型代码]

[注入引用类型代码]

[按名称注入]

【注】自动注入允许引用类型属性不用ref来指明类型

[按类型注入]

参考资料

https://www.cnblogs.com/TSCCG/p/15363241.html
https://zhuanlan.zhihu.com/p/33492169

标签:xml,IoC,--,Spring,创建对象,注入,IOC,属性
来源: https://www.cnblogs.com/Claire-is-here/p/16444490.html