2009-11-07 4 views
2

Есть ли способ получить ApplicationContext из контекстов в файловой системе и в путь класса все сразу? вместо использования FileSystemXmlApplicationContext, а затем ClassPathXmlApplicationContext и передачи fileSystemApplicationContext в качестве родителя?Получение контекста приложения

ответ

3

Предлагаю вам ознакомиться с org.springframework.context.support.GenericApplicationContext. Вместе с org.springframework.beans.factory.xml.XmlBeanDefinitionReader это shoudl дает вам необходимую гибкость. Существует пример кода на GenericApplicationContext's javadoc

Ваш код в будет выглядеть следующим образом:

GenericApplicationContext ctx = new GenericApplicationContext(); 
XmlBeanDefinitionReader xmlReader = new XmlBeanDefinitionReader(ctx); 
xmlReader.loadBeanDefinitions(new ClassPathResource("classpathContext.xml")); 
xmlReader.loadBeanDefinitions(new FileSystemResource("fileSystemContext.xml")); 

Обратите внимание на XmlBeanDefinitionReader также имеет метод loadBeanDefinitions(String), который будет затем использовать org.springframework.core.io.ResourceLoader для обработки соответствующего ресурса. В этом случае ваш код будет выглядеть так:

GenericApplicationContext ctx = new GenericApplicationContext(); 
XmlBeanDefinitionReader xmlReader = new XmlBeanDefinitionReader(ctx); 
xmlReader.loadBeanDefinitions("classpath:classpathContext.xml")); 
xmlReader.loadBeanDefinitions("file:fileSystemContext.xml")); 
Смежные вопросы