容器指的是控制容器的核心弹簧反转。容器提供了一种通过使用反射来初始化/引导应用程序(将配置加载到xml文件或注释中)以及管理Java对象(称为
bean 或 托管对象) 的生命周期的方法。
在此初始阶段,您在应用程序中没有(通常是可以的)控制,而是在完成引导程序后(如果失败则什么也没有),您将获得应用程序的完全初始化状态。
它是对 EJB3容器
的替代或可能的补充。但是,如果没有遵循EJB定义的标准,就会出现问题。从历史上看,EJB的采用受到该规范的复杂性的限制,spring是一个新创建的项目,用于在J2SE
jvm上运行EJB3的可比功能,并且没有EJB容器,并且配置简单得多。
ApplicationContext(作为接口,并通过直接实现实现)是实现此IoC容器的手段,与相比
BeanFactory,,后者现在(一种稀疏使用的)更直接的方式来管理Bean,该方式提供了基本实现ApplicationContext的功能。
关于第二个问题,您可以有多个ApplicationContexts实例,在这种情况下,它们将完全隔离,每个实例都有自己的配置。



