2016-04-05 3 views
2

Я знаю возможности использования JSR303 аннотацию весной загрузки @ConfigurationProperties, но у меня есть некоторые случаи использования, превышающие эти возможности:Spring Загрузочный @ConfigurationProperties Validation

У меня есть @ConfigurationProperties Bean, позволяет мое приложение, чтобы иметь папку, сконфигурированный для резервное копирование. Поэтому мне нужно проверить, существует ли эта папка и ее можно записать. Если он не существует, я хочу его создать.

Прямо сейчас я использую init-Method с @PostConstruct, и он отлично работает. Мне просто интересно, есть ли более декларативный способ проверки класса ConfigurationProperties.

+2

Это imho не является подтверждением, а частью ваших резервных копий. Валидация - это если что-то имеет правильный формат, допустимые значения или не является «нулем» (для свойств конфигурации). То, что вы хотите, должно быть частью ваших процессов резервного копирования, а не конфигурации, оно также должно работать, если вы будете настраивать процессы вручную и не использовать класс свойств. –

ответ

0

Если вы действительно хотите использовать аннотации JSR-303 для проверки состояния папки резервного копирования, вы можете использовать bean-validators. Это библиотека, которую я написал некоторое время назад с некоторыми дополнительными аннотациями проверки. В нем есть аннотации, связанные с файлом, такие как @Writable, которые могут быть использованы для проверки каталога. Но я согласен с комментариями: это должно быть частью процесса резервного копирования, поскольку состояние каталога может потенциально измениться после загрузки конфигурации.

Смежные вопросы