Обновление с Java Config до Spring Boot - PullRequest
0 голосов
/ 07 февраля 2020

Обновление существующей системы до Spring Boot с автоматической настройкой. В настоящее время система настроена на Java. Я запутался, стоит ли продолжать использовать @Profile. Эта аннотация больше не нужна? Я много искал об обновлении и нашел только ссылки на не-Spring Java миграцию и создание новых проектов.

Типичное @Profile использование в наших классах конфигурации выглядит примерно так:

@Bean
@Profile("is-standalone")
public Service unsecuredService(SomeApi someApi) {
    return new ...
}

Из примеров Spring Boot я заключил, что рекомендуется использовать одну из аннотаций @Conditional, например:

@Bean
@ConditionalOnProperty("unsecured.enabled")
public Service unsecuredService(SomeApi someApi) {
    return new ...
}

Затем в файле YAML профиль is-standalone включает или отключает все различные свойства для этот профиль. Это правильный способ обновления? Чтобы повторить вопрос сверху по-другому, можно ли использовать @Profile как есть? Это для довольно большого проекта, обновление нетривиально, поэтому я бы хотел сделать это только один раз!

1 Ответ

0 голосов
/ 07 февраля 2020

Зависит от того, откуда исходит ваша предыдущая аннотация @Profile. Если вы используете Spring * @Profile, функциональность выглядит следующим образом:

  • Аннотирование класса с помощью @Profile("dev") загрузит класс и зарегистрирует его только в контексте Spring когда профиль dev активен
  • Аннотирование класса с помощью @Profile("!dev") загрузит класс и зарегистрирует его в контексте Spring, только если профиль dev неактивен

Если это похоже на то, что у вас уже есть, никаких изменений не требуется.

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