2015-02-13 4 views
4

У меня есть два контекста приложения. Один из них является локальным для моего приложения, а другой - из одной из зависимостей maven.Как импортировать контекст приложения Spring в другой контекст приложения?

Теперь мой файл applicationContext.xml выглядит так.

<import resource="classpath*:**/sample-applicationContext.xml" /> 

и я <context:component-scan> в sample-applicationContext.xml файле, который сканирует для компонентов.

и теперь, когда я делаю следующее ..

ApplicationContext ctx=new ClassPathXmlApplicationContext("applicationContext.xml"); 
MyClass m=ctx.getBean(MyClass.class); 

К сожалению, когда я получаю MyClass объект, объект создается, однако, я вижу, что зависимость в MyClass не вводила.

Зависимости, автообновленные в MyClass, являются бобами, которые сканируются с использованием <context:component-scan> в файле sample-applicationContext.xml.

Есть ли способ использовать несколько контекстов приложения, присутствующих в зависимостях Maven и автообновлениях в них в моих классах проектов?

ответ

0

Я не уверен насчет зависимостей maven, но вы пытаетесь сделать что-то вроде кросс-контекста, используя весну. Посмотрите на эту ссылку: http://blog.imaginea.com/cross-context-communication-between-web-applications/

EDIT: кажется, есть способ, посмотрите на этот пост: Loading spring application context files that are inside a jar in classpath

+0

это не сработало. Я получаю объект bean-компонента зависимостей, когда я вызываю их с помощью объекта ApplicationContext 'ctx.getBean (MyDependencyBean.class)', но при автоподготовке 'MyDependencyBean' в' MyClass'. Он не автоуведомлен. В 'MyClass'' MyDependencyBean' делается «переходным», чтобы избежать «NotSerializableException». Является ли это причиной того, что зависимость не автоуведомлена :? Каково решение? – user12458

0

следующим образом, вы можете загрузить несколько файлов пружинный ApplicationContext.

ApplicationContext context = 
new ClassPathXmlApplicationContext(new String[] {"sample-applicationContext.xml", "applicationContext.xml"}); 

это будет хорошо, если вы можете разместить сегменты кода applicationContext.xml, выборочные-applicationContext.xml и MyClass здесь.

+0

это не сработало. – user12458

+0

можете ли вы разместить свой код? –