失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > Spring框架——IOC

Spring框架——IOC

时间:2020-08-06 04:43:49

相关推荐

Spring框架——IOC

一、什么是IOC(Inversion of Control)控制反转

IOC是一种设计思想,是为了降低代码耦合出现,为了方便理解也可以用“依赖注入”来解释。

IOC思想解决的场景是:

存在两个类,class A 和 class B ,若想要在A中使用B的属性和方法,那么常规的解决方法是在A中创建一个B类的对象b,通过对象b来调用属性或方法。这可以说是类A依赖于类B,A的对象a依赖于B的对象b。而IOC思想反转了这种依赖关系。

IOC的底层实现涉及到了三个部分:xml解析,对象工厂和属性注入。

那么首先我们需要解决三个问题:

一、IOC容器创建的是什么对象

二、IOC容器如何管理对象

三、IOC容器如何实现依赖关系

第一个问题——SpringBean

IOC容器中的对象为bean对象。spring启动时,bean对象就会被IOC容器创建并调用。

对于创建springbean对象,IOC容器提供了两种实现方式,BeanFactory & ApplicationFactory

BeanFactory在加载配置文件时并不创建对象,程序使用这个对象时才创建它ApplicationFactory在加载配置文件时创建对象。相当于在准备阶段就由服务器完成对象创建工作,在程序运行过程中不需要再分配资源,以提高效率。因此多使用ApplicationFactory实现方法。

第二个问题——管理对象包含了两种含义:创建对象和属性注入

class A(){private int age;}class B(){A a = new A();//创建对象a = A(18);//属性注入}

以一种简单的方式来理解属性注入,其实就是给属性赋值。Spring提供了两种管理对象的方式,一种是通过xml配置文件,一种是通过注解。

(一)通过配置文件xml来创建和管理bean对象

1.1创建对象

//有类User<beans xmlns="/schema/beans"xmlns:xsi="/2001/XMLSchema-instance"xsi:schemaLocation="/schema/beans /schema/beans/spring-beans.xsd"><!--配置User对象创建--><bean id = "user"> <!--id为bean对象在IOC容器中的唯一标识,class为类路径--></bean></beans>

1.2注入属性(为创建的bean对象的属性赋值) 常规的注入属性的方式有两种,一种是通过set方法给对应的属性赋值;另一种是通过有参构造函数,在创建对象的同时进行赋值。对应这两种方式,配置文件分别提供了一种标签来完成属性注入。

1.2.

如果觉得《Spring框架——IOC》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。
相关阅读
Spring框架 IOC

Spring框架 IOC

2020-03-16

Spring框架—IoC容器

Spring框架—IoC容器

2021-05-20

Spring框架IOC之一

Spring框架IOC之一

2019-06-30

Spring框架之ioc

Spring框架之ioc

2020-06-27