В проекте Java + Spring у нас есть файл свойств, и я хотел бы добавить туда некоторые ограничения для ограничения длины текста (ограничение ввода для хранения в String) в POJO, контейнере входящих данных;для чего я использую javax.validation.constraints.
Базовая версия без использования файла свойств для этого:
...
import lombok.Data;
import javax.validation.constraints.Size;
...
@Data
@NoArgsConstructor
public class DummyPojo {
@Size(min = 15, max = 100)
private String description;
...
public DummyPojo(...){...}
...
}
Из-за этого будет применяться несколько POJO с одинаковыми ограничениями, цельхранить в одной уникальной точке минимальное значение размера и максимальное значение размера, как я думал в файле свойств.Хотя я делал что-то вроде этого:
...
import lombok.Data;
import javax.validation.constraints.Size;
...
@Data
@NoArgsConstructor
public class DummyPojo {
@Getter(AccessLevel.NONE)
@Setter(AccessLevel.NONE)
@Autowired
private DataConstraintsProperties properties;
@Size(min = properties.getMinTextSize, max = properties.getMaxTextSize)
private String description;
...
public DummyPojo(...){...}
...
}
Но это не сработало бы, очевидно, действительно, для @Autowired потребовалось бы что-то еще, например, @Component или @Service Bean, а не @Data POJO.
Знаете ли вы, можно ли таким же образом сделать POJO способным загружать эти значения файла свойств во время объявления (хотя, боюсь, это невозможно) , илиесли мне следует использовать какой-то другой метод (считающийся элегантным с точки зрения SW Engineering или, по крайней мере, не рассматриваемый как анти-шаблон , такой как класс констант )?
СпасибоС наилучшими пожеланиями