Код: Выделить всё
my_config:
test: "plop"
< /code>
Вот ValidationProperties < /code> Configuration Class: < /p>
@Configuration
@ConfigurationProperties(prefix = "my_config")
public class ValidationProperties {
@NotNull
private String test;
public void setTest(String test) {
this.test = test;
}
public String getTest() {
return this.test;
}
}
< /code>
Служба валидатора, которая использует его: < /p>
@Service
public class MyValidator implements ConstraintValidator {
@Autowired
private ValidationProperties validationProperties;
@Value("${my_config.test}")
private String test;
@Override
public boolean isValid(MyEntity entity, ConstraintValidatorContext context) {
System.out.println(this.test); // null value, why?
}
}
< /code>
Я также добавил аннотацию @enableconfigurationproperties < /code> в моем основном классе. < /p>
Я не уверен, какая аннотация должна делать что делать, но я, очевидно, что -то здесь не упускаю. Кроме того, если я попытаюсь получить доступ к значению из getter файла конфигурации, я получаю исключение: < /p>
System.out.println(this.validationProperties.getTest());
Подробнее здесь: https://stackoverflow.com/questions/443 ... pring-boot