Как загрузить определенный XML на основе профиля, установленного в среде в Springboot - PullRequest
0 голосов
/ 03 июля 2019

Допустим, у меня есть XML-файлы в моем проекте, такие как a.xml, b.xml, c.xml

Теперь я хочу загрузить определенный XML на основе профиля, установленного в spring boot.
E.g - Если профиль test1, я хочу загрузить a.xml,
____ Если профиль test2, то я хочу загрузить b.xml и т. Д.

Как этого добиться, используя Spring boot. Любая помощь могла бы быть полезна. Я новичок в этом. Поэтому я не смог найти подходящего решения для этого.

1 Ответ

0 голосов
/ 03 июля 2019

во-первых, ваша конфигурация xml должна определять, для какого профиля она определяет бины.

во-вторых, все они должны быть уже загружены, Spring не будет использовать определения, относящиеся к неактивированному профилю

file a.xml:
<beans profile="test1">
 ... your bean definitions that only get activated on profile test1 here
</beans>
file b.xml:
<beans profile="test2">
 ... your bean definitions that only get activated on profile test2 here
</beans>

теперь все ваши xml-файлы определяют, в какой конфигурации вы можете запускать все приложение со всеми файлами конфигурации.

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

см. документацию к профилю для получения информации об этом или учебное пособие по профилю

после запуска будут присутствовать только бины активированных профилей, тех из xml с неактивированным профилем не будет (я думаю / думаю, конфигурация все равно будет загружена, только экземпляры не будут созданыдля них)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...