IOC原理

什么是IOC

  • 控制反转,把对象的创建和对象之间调用的过程交给spring进行管理。
  • 使用IOC目的,为了降低耦合度。

IOC底层原理

主要有 xml解析、工厂模式、反射

例:

让UserService调用UserDao,原始方式:

IOC原理

 

 

 缺点:耦合度太高了

工厂模式:

IOC原理

 

 

 UserService与UserDao之间的耦合度降低了,但是没有降低到最低限度,于是有了IOC

IOC过程

IOC原理

 

 

 IOC的思想基于IOC的容器完成,IOC容器底层就是对象工厂。

Spring提供IOC容器实现两种方式(两个接口)

  • BeanFactory:IOC容器最基本实现方式,是spring内部使用的接口,一般不提供给开发人员使用。BeanFactory加载配置文件时不会创建对象,在获取(使用)对象时才会创建对象
  • ApplicationContext:BeanFactory接口的子接口,提供更多更强大的功能,一般面向开发人员使用。ApplicationContext在加载配置文件时就会创建对象

IOC原理

ApplicationContext接口有实现类:

IOC原理

 

 

 使用FileSystemXmlApplicationContext需要写xml文件在系统盘的路径,ClassPathXmlApplicationContext写类路径。

 

上一篇:python实现已知两个点坐标求与正北夹角度数


下一篇:applicationContext.xml