Java 在不启动上下文的情况下获取bean定义

Java 在不启动上下文的情况下获取bean定义,java,spring,applicationcontext,Java,Spring,Applicationcontext,我正在编写一个ContextLoader,它将额外的上下文文件替换到现有上下文中。我所做的是获取这些位置并将它们传递到ClassPathXmlApplicationContext中。然后我从上下文中获取BeanFactory,我从上下文中获取BeanDefinitions。然后,我在另一个(主)上下文中注册这些BeanDefinitions 然后问题是,我想从上下文中获取BeanDefinitions,而不实际启动上下文/构造bean。这可能吗 同样,我有一个主上下文a和一个临时上下文B。我从B

我正在编写一个
ContextLoader
,它将额外的上下文文件替换到现有上下文中。我所做的是获取这些位置并将它们传递到
ClassPathXmlApplicationContext
中。然后我从上下文中获取
BeanFactory
,我从上下文中获取
BeanDefinitions
。然后,我在另一个(主)上下文中注册这些
BeanDefinitions

然后问题是,我想从上下文中获取
BeanDefinitions
,而不实际启动上下文/构造bean。这可能吗


同样,我有一个主上下文a和一个临时上下文B。我从B中获取所有
BeanDefinitions
,并将它们注册到a中。然后我关闭并处置B。当上下文a启动/重新启动时,创建/销毁Bean。但是,我注意到,在创建B和获取定义的过程中,bean也会被创建/销毁一次。有没有办法避免这种情况?

您这样做,而不是依靠标准的方式组合应用程序上下文(即XML)的原因吗?在测试环境中,我想单独指定替换bean(如Springockito),而不依赖顺序(这是弹簧的一个特点,但不能保证始终得到支撑)