IoC container 和 beans的简介
Inversion of Control(IoC),中文名叫控制反转.你也可以称之为dependency injection(DI,依赖注入). 容器通过构造函数参数,工厂方法参数,或者是工厂方法返回的对象实例设置的属性来定义它们的依赖关系,并为其他的对象服务.这个容器当它创建bean时就注入它们的依赖关系.这个过程基本上与通过类的直接构造来控制其依赖性的实例化过程是相反的,所以被称为控制反转.
BeanFactory接口提供能管理任何类型的高级的配置机制.ApplicationContext是BeanFactory的子接口,它增加了更简单的AOP的集成,消息资源处理(用于国际化),事件的发布,应用程序上下文(例如WebApplicationContext)以用于Web应用.
简单来说,BeanFactory提供了框架和基础功能,而ApplicationContext添加了更多的企业特性功能.
容器概述(Container overview)
ApplicationContext负责实例化,配置并且组合beans.容器通过读取配置元数据信息来获取需要实例化,配置,组合的对象的指令.这些元数据可以是XML,Java释,Java代码.你可以把你程序中的对象和这些对象组成丰富的依赖关系.
配置元数据(Configuration metadata)
元数据传统上以简单且直观的XML格式来配置的.
注意:基于XML来配置元数据并不是配置元数据的唯一方式.IOC容器本身是完全与写入的配置元数据解耦的(简单理解是分开的).近些天来,有很多的开发者选择基于Java来配置他们的应用程序.
以下的例子展示里配置元数据的基本结构:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="..." class="...">
<!-- 配置信息写在这里 -->
</bean>
<bean id="..." class="...">
<!-- 配置信息写在这里 -->
</bean>
<!-- 更多的bean定义在这里 -->
Inversion of Control(IoC),中文名叫控制反转.你也可以称之为dependency injection(DI,依赖注入). 容器通过构造函数参数,工厂方法参数,或者是工厂方法返回的对象实例设置的属性来定义它们的依赖关系,并为其他的对象服务.这个容器当它创建bean时就注入它们的依赖关系.这个过程基本上与通过类的直接构造来控制其依赖性的实例化过程是相反的,所以被称为控制反转.
BeanFactory接口提供能管理任何类型的高级的配置机制.ApplicationContext是BeanFactory的子接口,它增加了更简单的AOP的集成,消息资源处理(用于国际化),事件的发布,应用程序上下文(例如WebApplicationContext)以用于Web应用.
简单来说,BeanFactory提供了框架和基础功能,而ApplicationContext添加了更多的企业特性功能.
容器概述(Container overview)
ApplicationContext负责实例化,配置并且组合beans.容器通过读取配置元数据信息来获取需要实例化,配置,组合的对象的指令.这些元数据可以是XML,Java释,Java代码.你可以把你程序中的对象和这些对象组成丰富的依赖关系.
配置元数据(Configuration metadata)
元数据传统上以简单且直观的XML格式来配置的.
注意:基于XML来配置元数据并不是配置元数据的唯一方式.IOC容器本身是完全与写入的配置元数据解耦的(简单理解是分开的).近些天来,有很多的开发者选择基于Java来配置他们的应用程序.
以下的例子展示里配置元数据的基本结构:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="..." class="...">
<!-- 配置信息写在这里 -->
</bean>
<bean id="..." class="...">
<!-- 配置信息写在这里 -->
</bean>
<!-- 更多的bean定义在这里 -->
</beans>