Итак, я хочу объединить два сообщения из профиля при весенней загрузке. Это мой текущий код (который не работает, потому что поля пусты):
@Profile("fetchGame")
@Service
public class FetchGameApiService {
@Value("${game.api.url}")
private static String LINK;
@Value("${game.api.key}")
private static String KEY;
private static Integer gameId = 1;
private static final String URL = LINK + "/" + gameId + "?key = " + KEY;
//somelogic
}
Вот моя профильная страница:
game.api.url = https://api.rawg.io/api/games
game.api.key = 250b2de5e7734f638760ae2bad8bd29f
this_IS_The_Correct_Url = https://api.rawg.io/api/games/1?key=250b2de5e7734f638760ae2bad8bd29f
Обратите внимание, что я установил активный профиль в app.properties как: spring.profiles.active = fetchGame Мой вопрос: как правильно объединить две строки в одну из пружинных профилей? Не имея огромного количества кода и сделать его простым и понятным.
о, ты прав, сейчас исправлю
Во-первых, профиль Spring не имеет ничего общего с вводом значений в поля или аргументы метода/конструктора. Пружинные профили позволяют условно настроить контекст приложения.
Вот список для проверки:
PropertySourcesPlaceholderConfigurer
в контексте@PropertySource("classpath:application.properties")
, чтобы установить пользовательский файл свойств для разрешения значений.Вот справочная документация для функции.
Я предлагаю изучить и принять безопасный способ работы с свойства конфигурации с аннотацией @ConfigurationProperties
.
@Value("${game.api.url}") private static String KEY;
так и должно быть@Value("${game.api.key}") private static String KEY;
? Кроме того, вы не можете вводитьstatic
поля.