Java Spring多个ApplicationContext
Spring ApplicationContext的定义非常模糊,我几乎完成了一整本教程,但仍然无法理解ApplicationContext是什么.
根据Spring API,ApplicationContext是:
从上面我的问题是: 1)我看到书中提到的“容器”,容器是指什么?一个容器是否意味着一个java进程?或一个容器是指一个ApplicationContext对象? 2)如果我在一个java应用程序(在主体中)实例化两个ApplicationContext,这两个接口是否是一个中央容器?还是两个独立的实例?看下面的代码,context1和context2有什么区别?如果Beans.xml中有一个Singleton,它由context1和context2调用,它们是两个分离的实例还是相同的实例? ApplicationContext context1 = new ClassPathXmlApplicationContext("Beans.xml"); ApplicationContext context2 = new ClassPathXmlApplicationContext("Beans.xml"); 非常惊讶的是,我找不到任何文件来澄清这个非常基本的歧义,如果你的答案是从某个地方提到的,请说明,我渴望阅读,迫不及待要完全理解这个概念. 解决方法
通过容器,它们指的是核心弹簧
Inversion of Control container.容器提供了一种通过使用
reflection初始化/引导应用程序(加载xml文件或注释中的配置)的方法,并管理Java对象的生命周期,这些对象称为bean或管理对象.
在这个初始阶段,您在应用程序中没有(通常是可能的)控制,而是在引导完成时(或者没有,如果它失败),您将获得应用程序的完全初始化状态. 所谓的EJB3容器是一种替代或者可能的补充,但是Spring提供的一个没有遵守EJB定义的标准.历史上,EJB的采用受到该规范的复杂性的限制,Spring是一个新创建的项目,用于在J2SE jvm上运行EJB3类似的功能,并且没有EJB容器,并且配置更加简单. ApplicationContext(作为interface,通过直接实现风格)是实现此IoC容器的意思,而不是BeanFactory,而BeanFactory现在(一个稀疏使用的)和more direct way管理bean,从而提供了基本的实现ApplicationContext的功能. 根据您的第二个问题,您可以拥有ApplicationContext的多个实例,在这种情况下,它们将完全隔离,每个都具有自己的配置. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |