Spring IOC容器的基本应用

Posted suannai-97

tags:

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

Spring IOC概述


 

  IOC全称Inversion of Control,被译为控制反转,是指程序中对象的获取方式发生反转,由最初的new方式创建,转变为由第三方框架创建、注入(DI),它降低了对象之间的耦合度。

  Spring容器是IOC机制的一种实现,同时IOC也是Spring框架的基础和核心,它借助DI(Dependency Injection)方法实现。

Spring Bean容器


 

   Spring容器是Spring框架中的核心组件,负责创建Bean对象(一种简单规范的JAVA对象)及管理这些对象之间的依赖关系。

  Spring容器是如何工作的呢?在Spring项目运行是,Spring容器负责读取项目中的元数据信息(这些元数据可能是基于xml、也可能是基于注解实现),然后这些信息创建Bean对象的实例。

  IOC是Spring框架中的一种机制,提供了容器中对象的控制反转功能,这个功能的实现需要借助依赖查找和依赖注入。

 

?Spring容器元数据配置

 

   Spring中元数据的配置有两种方式,基于xml或annotation方式。这个小节了解基于XML方式的元数据实现bean元素的基本配置(后续在描述annotation方式)。

  

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <beans xmlns="http://www.springframework.org/schema/beans"
 3     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 4     xsi:schemaLocation="http://www.springframework.org/schema/beans
 5       http://www.springframework.org/schema/beans/spring-beans.xsd">
 6 
 7     <bean id="..." class="...">
 8         <!-- collaborators and configuration for this bean go here -->
 9     </bean>
10 
11     <bean id="..." class="...">
12         <!-- collaborators and configuration for this bean go here -->
13     </bean>
14 
15     <!-- more bean definitions go here -->
16 
17 </beans>

 

  Spring中多个元素配置文件的实现方法

1 <beans>
2     <import resource="services.xml"/>
3     <import resource="resources/messageSource.xml"/>
4     <import resource="/resources/themeSource.xml"/>
5 
6     <bean id="bean1" class="..."/>
7     <bean id="bean2" class="..."/>
8 </beans>

?Spring容器的初始化

  Spring中容器的类型为Application类型,其初始化方法如下:

1 ApplicationContext context =
2 new ClassPathXmlApplicationContext("beans.xml");

  Spring容器初始化是需要加载元数据的配置信息,类如beans.xml文件中声明的元数据的相关配置。

?Spring 容器的使用

  Spring容器初始化以后,可以通过容器的getBean(...)方法获取容器的Bean对象,进而操作Bean对象,例如:

 

1 Contex.getBean(“xxxService”,XxxService.class);

 

 

 

 

 

 2018-03-10 

文笔有限,才疏学浅,文中若有不正之处,万望告知。

 


以上是关于Spring IOC容器的基本应用的主要内容,如果未能解决你的问题,请参考以下文章

长文预警!Spring源码之IoC容器的基本实现

Spring 的基本应用——IoC

IoC 之 2.2 IoC 容器基本原理(00000001)

IoC容器的实现( IoC 容器概述和在 Spring 中的应用场景)

Spring系列之IOC容器

说明反转控制(IOC)和面向方向编程(AOP)在spring中的应用