Spring IoC контейнер: конфигурация на основе аннотаций, @Required
Аннотация @Required применяется к методам установки (сеттерам) свойств бина, как в следующем примере: Java public class SimpleMovieLister { private MovieFinder movieFinder; @Required public void setMovieFinder(MovieFinder movieFinder) { this.movieFinder = movieFinder; } // ... } Kotlin class SimpleMovieLister { @Required lateinit var movieFinder: MovieFinder // ... } Эта аннотация указывает, что затронутое свойство компонента должно быть заполнено во время конфигурации, через явное значение свойства в определении компонента или через автоматическую привязку (autowiring). Контейнер генерирует исключение, если затронутое свойство компонента не было заполнено. Это учитывает нетерпеливый (eager) и явный сбой, избегая экземпляров NullPointerException и т.п. позже. Рекомендуется помещать утверждения в сам класс компонента (например, в метод init). Это обеспечивает выполнение этих обязательных ссылок и значений, даже если вы использ...