Bootstrap

【Spring】Bean和Spring容器

Spring容器

在基于Spring的应用中,应用对象都是生存于Spring Container容器中的。Spring负责创建对象,装配对象,和配置对象并管理他们的整个生命周期。


Spring容器不只有一个,Spring自带了多个容器实现,可以归为2类:

- bean factory: 最简单的容器,提供基本的DI支持

- 应用上下文:给予bean factory构建,提供应用框架级别的服务

bean factory对于大部分的应用来说都太低级了,因此很少使用。相比而言,应用上下文使用更普遍。

应用上下文

Spring自带了多种应用上下文,常用的有:

- AnnotationConfigApplicationContext:从一个或多个基于java的配置类中加载Spring应用上下文
- AnnotationConfigWebApplicationContext:从一个或多个基于java的配置类中加载Spring Web应用上下文
- ClassPathXmlApplicationContext:从类路径下的一个或多个xml配置文件中加载上下文定义,把应用上下文的定义文件作为类资源
- FileSystemXmlApplicationContext:从文件系统下的一个或多个xml配置文件中加载上下文定义
- XmlWebApplicationContext:从web应用下的一个或多个xml配置文件中加载上下文定义

例子:

加载FileSystemXmlApplicationContext:(在指定路径下查找文件)
ApplicationContext context = new FileSystemXmlApplicationContext("c:/context.xml");

加载ClassPathXmlApplicationContext:(在类路径下(包括jar文件)查找文件)
ApplicationContext context = new ClassPathXmlApplicationContext("context.xml");

加载AnnotationConfigApplicationContext:(类文件)
ApplicationContext context = new AnnotationConfigApplicationContext(com.xxx.example.class);
bean的生命周期


;