Spring 容器:
Spring 容器是Spring框架的核心。Spring容器将创建Bean对象实例,把它们联系在一起,配置它们,并管理它们整个生命周期从创建到销毁。Spring 容器通过依赖注入(DI)将它们组成一个应用程序组件。这些bean对象我们称为Spring beans。
通过配置元数据指令,Spring容器知道对那些对象进行实例化、配置、组装。配置元数据可以通过XML、Java注解或Java代码来实现。下图是Spirn如何工作的高效图,Spring Ioc容器通过Java POJO(Plain Old Java Object)类和配置元数据生成完全配置。
Spring 框架提供两种不同类型的容器:
1.BeanFactory容器
官网API:The BeanFactory
interface provides an advanced configuration mechanism capable of managing any type of object。
翻译:BeanFactory接口提供一个高效配置机制可以管理任何类型的对象
2.ApplicationContext容器
官网API: ApplicationContext is a sub-interface of BeanFactory. It adds easier integration with Spring’s AOP features; message resource handling (for use in internationalization), event publication; and application-layer specific contexts such as the WebApplicationContext for use in web applications。
翻译:ApplicationContext接口是BeanFactory接口的子接口,增加更容易集成Spring的AOP功能;信息资源处理(用于国际化),事件发布;和应用程序层特定上下文如WebApplicationContext用于web应用程序。
基于xml元数据配置Spring Ioc容器实现代码示例:
package com.test; import org.junit.Before; import org.junit.Test; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; import com.test.service.NarCodeService; public class Spring { ApplicationContext applicationContext = null; @Before public void ApplicationContextInit() { //创建一个ApplicationContext容器 applicationContext = new ClassPathXmlApplicationContext(new String[]{"test1-service.xml"});
System.out.println(applicationContext); } }