2016-04-06 3 views
2

Мне интересно, всегда ли применяется профиль по умолчанию, если его свойства не перезаписываются другим активным профилем?Профиль весны по умолчанию всегда активен?

например. У меня есть определенные свойства, которые относятся только к профилю по умолчанию. Я хочу, чтобы эти свойства игнорировались при активации любого другого профиля, свойства не будут перезаписаны другим профилем, они просто не применяются, если активен другой профиль.

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

Я также определил Bean с аннотацией @Profile("default") и что Bean не вызывается, когда я активирую другой профиль. Но свойства, которые я определил в application.xml под номером spring.profiles: default, применяются.

ответ

0

этот настоящий вариант размещен here. вам нужно определить 2 боба на основе профиля, чтобы сохранить ссылку на другой файл properties.file. в вашем случае первый (по умолчанию) будет иметь значения по умолчанию, а во втором вы можете просто переопределить их или оставить любое другое значение по умолчанию для переменной

+0

спасибо за ответ, но он все еще не ясен в ответ на мой вопрос. что я действительно хочу знать: всегда ли применяются свойства конфигурации, определенные внутри профиля по умолчанию, если они не перезаписаны другим активным профилем? из моего тестирования, похоже, они есть. Если ответ «Да», я полагаю, что я должен перезаписать эти свойства конфигурации пустым значением внутри области других профилей, если я хочу, чтобы они игнорировались? –

+0

Да, они применяются по умолчанию, потому что вы вставляете бобы в аннотацию '@ Profile', так что решение, описанное в вставленной ссылке i, отличается тем, что в ссылке он использует 2 разных конфигурации, но в вашем случае вы хотите просто поместить другой файл свойства, если кто-то передает другой профиль, чтобы помочь вам немного больше, не могли бы вы описать, каков ваш сценарий? – AntJavaDev

+0

поэтому для меня сценарий, у меня есть встроенная база данных h2, созданная для моего приложения при запуске моего приложения локально, и я определил некоторые свойства базы данных для этой базы данных в файле yaml приложения, определенном в профиле по умолчанию. Когда я запускаю свое приложение в другом месте (отвлекая его на решение PaaS, я хочу подключиться к экземпляру базы данных, и эти свойства по умолчанию неактуальны и не должны применяться к моему «реальному» экземпляру базы данных, но их подбирают и вызывают ошибки –