2013-05-23 2 views
4

Могу ли я импортировать вещи в контексте весны только в случае выполнения определенного условия?Импорт ресурсов условно в контексте весеннего приложения

<!-- import ONLY IF current environment is NOT testing --> 
<import resource="classpath:context/caching-context.xml" /> 

В настоящее время я делаю что импортируя совершенно другой контекст, в моем testcases

@ContextConfiguration(locations = { "classpath*:ApplicationContextTesting.xml" }) 

, но может быть, есть более элегантное решение не поддерживать два отдельные контексты приложения для производства и тестирования.

ответ

8

Используйте пружинные профили.

<beans profile="not_test"> 
    <import resource="classpath:context/caching-context.xml" /> 
</beans> 

Более подробная информация в Spring documentation и на blog post.

+2

Это будет работать только в том случае, если оно помещено в конец файла конфигурации, поэтому после этого нет определений bean (Spring 3.2) – lolotron

Смежные вопросы