对spring IOC容器DI的理解

Posted les-chan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了对spring IOC容器DI的理解相关的知识,希望对你有一定的参考价值。

1.IOC是什么?

IOC(控制反转)是一种管理bean的容器,它的本质是对象工厂(接口)。

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

反转控制思想改由容器主动将资源推送给需要的组件,开发人员不需要知道容器是如何创建资源对象的,只需要提供接受资源的方法即可。

2.IOC容器在spring中的实现

(1)在通过IOC容器读取Bean实例前,先需要将IOC容器本身实例化。

(2)Spring提供的IOC实例化的两种实现:

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

    ApplicationContext:BeanFactory的子接口,提供了更多高级特性。面向Spring使用者。

3.ApplicationContext主要实现类

 (1)ClassPathXmlApplicationContext:对应类路径下的xml文件

 (2)FileSystemXMLApplicationContext:对应文件系统中的xml文件

4.ConfigurableApplicationContext

 (1)ApplicationContext的子接口,包含一些扩展方法

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

5.WebApplicationContext

 (1)专门问web应用而准备,它允许相对于web根目录的路径中完成初始化工作

6.给Bean的属性赋值

  (1)依赖注入

      setter();属性赋值,使用setter方法,配置文件中属性名要与java类中setter方法名一致

      构造器;1.使用name属性指定具体参数值 2.默认顺序 3.通过下标调整对应参数位置 4.同类型进行参数匹配

      接口;

  (2)p名称空间

      <bean

               id="studentSuper"

               class="com.atguigu.helloworld.bean.Student"

               p:studentId="2002" p:stuName="Jerry2016" p:age="18" />

以上是关于对spring IOC容器DI的理解的主要内容,如果未能解决你的问题,请参考以下文章

对Spring IOC的理解

Spring容器的理解

spring------控制反转(IOC)/依赖注入(DI)

Spring对IOC的理解

Spring -- IOC/DI 基础概念的理解

Spring IOC容器