Задача
Мне кажется, что я что-то не правильно понял, потому что мое @Value всегда загружает значение по умолчанию.
Java-код
Итак, у меня есть следующее:
@Value("${disableQuerySecurityDebug:false}")
private boolean disableQuerySecurityDebug;
И это всегда ложно.
Файл свойств: application-disableQuerySecurityDebug.properties
У меня есть файл свойств с именем application-disableQuerySecurityDebug.properties
.
И у меня есть следующая запись внутри файла:
disableQuerySecurityDebugMne=true
И я запускаю приложение со следующим профилем: disableQuerySecurityDebugMne
Я ожидал, что значение будет установлено в true, но оно всегда ложно.
Обновление
Основываясь на ответе Дэдпула, я получил следующее:
@Profile("disableQuerySecurityDebug") @Data
@Configuration
public class DisableSecurityConfig implements DisableQuerySecurityDebug {
@Value("${disableQuerySecurityDebug:true}")
private boolean securityDisabled;
}
@Profile("!disableQuerySecurityDebug") @Data
@Configuration
public class EnableSecurityConfig implements DisableQuerySecurityDebug{
@Value("${disableQuerySecurityDebug:false}")
private boolean securityDisabled;
}
public interface DisableQuerySecurityDebug{
public boolean isSecurityDisabled();
}