bean的生命周期
- Bean配置信息定义了Bean的实现及依赖关系,Spring容器根据各种形式的Bean配置信息在容器内部建立Bean定义注册表,然后根据注册表加载、实例化Bean,并建立Bean和Bean的依赖关系,最后将这些准备就绪的Bean放到Bean缓存池中,以供外层的应用程序进行调用。
Spring容器
-
Bean的生命整个流程如图,其中Spring容器是核心。Spring容器不只是一个,可以归为两种不同的类型。
- bean工厂(BeanFactory):最简单的容器,提供基本的DI支持。
- 应用上下文(ApplicationContext):基于BeanFactory构建,并提供应用框架级别的服务。
-
应用上下文类型:
- AnnotationConfigApplicationContext: 从一个或多个基于Java的配置类中加载Spring应用上下文。
- AnnotationConfigWebApplicationContext:从一个或多个基于Java的配置类中加载Spring Web应用上下文
- ClassPathXmlApplicationContext:从类路径下的一个或多个XML配置文件中加载上下文定义,把应用上下文的定义文件作为类资源。
- FileSystemXmlapplicationcontext: 从文件系统下的一个或多个XML配置文件中加载上下文定义。
- XmlWebApplicationContext:从Web应用下的一个或多个XML配置文件中加载上下文定义。
** FileSystemXmlapplicationcontext和ClassPathXml**ApplicationContext区别。FileXXX是
- 应用上下文例子:
-
ApplicationContext context=new ClassPathXmlApplicationCOntext("xx.xml")
应用上下文就绪后,可以调用getBean()方法从Spring容器中获取bean
User user=(User)context.getBean(User.class)
-
ApplicationContext Bean生命周期
流程