Мы преобразовали существующее веб-приложение в Spring Boot.
Все, что я хочу сделать, - это использовать @Profile ("production"). Мы храним это в myProps.properties в папке ресурсов.
Я могу получить доступ к файлу .properties по всему приложению, используя @Value, но, похоже, чтобы заставить @Profile работать, у вас есть установить активные профили до того, как ServletContext будет установлен / завершен, что, по-видимому, происходит во время метода main ().
Я пробовал десятки вещей и потерпел неудачу. Я обнаружил, что вы не можете установить поле stati c с @Value в основном классе приложения. Я попытался создать класс, который реализует WebApplicationInitializer, например https://www.baeldung.com/spring-profiles, но мой метод onStartup (), который я переопределяю, никогда не запускается ... Я поставил точку останова, и он никогда не попадал. Единственный способ получить точку останова - если я @Autowire servletContext для этого метода, но тогда контекст уже установлен и не может быть изменен.
Я пробовал AnnotationConfigWebApplicationContext, я пробовал ServletContainerInitializer, я пробовал ConfigurableEnvironment, et c. Я чувствую, что иду по кругу.
Я чувствую, что здесь есть большой кусок, который мне не хватает, чтобы сделать что-то "Весенним путем". Может ли кто-нибудь предложить мне Java настроенный на аннотации способ получения свойства и настройки активных профилей для последующего использования в продукте? Спасибо.