У меня есть компонент пружины, которая проверяет значения Субъекта класса,Как Вводить значения из файла свойств в JSR аннотации
Одна из переменных имеют аннотации, значение которого должны быть загружено из файл недвижимости, в настоящее время он говорит, что Attribute must be constant
Вот пример кода.
Я знаю, что Spring позволяет получать свойства, как этот
@Value("${allowedNames}")
private String names;
Но у меня есть сущность с одной из переменных аннотированных по валидатора интерфейса т.е. @NameValidationDefinition
. Я хотел бы передать значения из файла свойств в аннотации, но она дает компиляции ошибки времени, что атрибут должен быть константой, я понимаю, как я знаю, что
Annotations take only constants or final and static declared primitives or Strings
public Class Person {
@NameValidationDefinition(values = names)
private String name;
}
То, что я хочу знаете, есть ли способ обхода этого, чтобы заставить его работать?
Значение из файла свойств по умолчанию заносится в String, но все же, когда я создаю Entity и инициализирую переменную как статический final и передаю String в Constructor, я получаю ту же ошибку времени компиляции.
Буду признателен за любую помощь в этом вопросе.
Я слышу вас, и я знаю, что ничего, кроме констант, не может переходить к аннотациям, но я думал, что есть хакерский способ сделать это. Я имею в виду, что разработчики постоянно сгибают правила с помощью кода. –
Нет, не на этом. Вы должны были бы приспособиться к самому JLS. Не сказать, что это невозможно, но я точно не хотел бы туда идти. – Hardy
Ха-ха, ты .. Спасибо .. Думаю, я могу отметить это как ответ, поскольку он может помочь кому-то еще найти это. –