Spring IOC容器

一、IOC和DI

  1. IOC(Inversion of Control):反转控制。

在应用程序中的组件需要获取资源时,传统的方式是组件主动的从容器中获取所需要的资源,在这样的模式下开发人员往往需要知道在具体容器中特定资源的获取方式,增加了学习成本,同时降低了开发效率。

反转控制的思想完全颠覆了应用程序组件获取资源的传统方式:反转了资源的获取方向——改由容器主动的将资源推送给需要的组件,开发人员不需要知道容器是如何创建资源对象的,只需要提供接收资源的方式即可,极大的降低了学习成本,提高了开发的效率。这种行为也称为查找的被动形式。

  1. DI(Dependency Injection):依赖注入。

IOC的另一种表述方式:即组件以一些预先定义好的方式(例如:setter 方法)接受来自于容器的资源注入。相对于IOC而言,这种表述更直接。

  1. IOC容器在Spring中的实现

①在通过IOC容器读取Bean的实例之前,需要先将IOC容器本身实例化。

②Spring提供了IOC容器的两种实现方式

(1)BeanFactory:IOC容器的基本实现,是Spring内部的基础设施,是面向Spring本身的,不是提供给开发人员使用的。

(2)ApplicationContext:BeanFactory的子接口,提供了更多高级特性。面向Spring的使用者,几乎所有场合都使用ApplicationContext而不是底层的BeanFactory。

  1. ApplicationContext的主要实现类

①ClassPathXmlApplicationContext:对应类路径下的XML格式的配置文件

②FileSystemXmlApplicationContext:对应文件系统中的XML格式的配置文件

③在初始化时就创建单例的bean,也可以通过配置的方式指定创建的Bean是多实例的。

5.ConfigurableApplicationContext

①是ApplicationContext的子接口,包含一些扩展方法

②refresh()和close()让ApplicationContext具有启动、关闭和刷新上下文的能力。

6.WebApplicationContext

专门为WEB应用而准备的,它允许从相对于WEB根目录的路径中完成初始化工作


上一篇:
下一篇:
关于尚硅谷
教育理念
名师团队
学员心声
资源下载
视频下载
资料下载
工具下载
加入我们
招聘岗位
岗位介绍
招贤纳师
联系我们
全国统一咨询电话:010-56253825
地址:北京市昌平区宏福科技园综合楼6层(北京校区)

深圳市宝安区西部硅谷大厦B座C区一层(深圳校区)

上海市松江区谷阳北路166号大江商厦6层(上海校区)

武汉市东湖高新开发区东湖网谷(武汉校区)