开始我们需要理解一下spring容器的概念:
Spring的核心就是容器,类似工厂的地方,负责创建、管理、销毁程序执行过程中需要的对象。例如Tomcat,是servlet的web容器(同样负责了对象的整个生命周期)。而上下文就是你执行程序的一个环境,存储的一些变量等,就和你的大脑一样,用来存储记忆。什么是应用上下文呢,你可以简单的理解成就是将你需要Spring帮你管理的对象放入容器的那么一种容器对象。(框架本身就提供了很多个容器的实现,大概分为两种类型:如:BeanFactory,最简单的容器,只能提供基本的DI功能)另一种是:继承了BeanFactory后派生而来的,能提供更多企业级的服务,例如解析配置文本信息等等,这也是应用上下文实例对象最常见的应用场景)。
① AnnotationConfigApplicationContext:从一个或多个基于java的配置类中加载上下文定义,适用于java注解的方式;
② ClassPathXmlApplicationContext:从类路径下的一个或多个xml配置文件中加载上下文定义,适用于xml配置的方式;
③ FileSystemXmlApplicationContext:从文件系统下的一个或多个xml配置文件中加载上下文定义,也就是说系统盘符中加载
④ AnnotationConfigWebApplicationContext:专门为web应用准备的,适用于注解方式;
⑤ XmlWebApplicationContext:从web应用下的一个或多个xml配置文件加载上下文定义,适用于xml配置方式。
我们可以通过以上几种方式来配置bean和建立bean之间的协作关系,然后通过上下文对象将配置加载到ioc容器,让Spring帮我们管理对象,带我们需要使用对象的时候,再从容器中获取bean就可以了。
原文:https://www.cnblogs.com/user-bw/p/14078840.html