Spring IoC контейнер: настройка бинов, обратные вызовы жизненного цикла

Для взаимодействия с управлением контейнером жизненного цикла компонента вы можете реализовать интерфейсы Spring InitializingBean и DisposableBean. Контейнер вызывает afterPropertiesSet() для первого и destroy() для второго, чтобы bean-компонент мог выполнять определенные действия при инициализации и уничтожении ваших bean-компонентов.

Аннотации JSR-250 @PostConstruct и @PreDestroy обычно считаются лучшей практикой для получения обратных вызовов жизненного цикла в современном приложении Spring. Использование этих аннотаций означает, что ваши компоненты не связаны с интерфейсами, специфичными для Spring.

Если вы не хотите использовать аннотации JSR-250, но по-прежнему хотите удалить соединение, рассмотрите метаданные определения bean-метода init и destroy-method.

Внутренне Spring Framework использует реализации BeanPostProcessor для обработки любых интерфейсов обратного вызова, которые он может найти, и для вызова соответствующих методов. Если вам нужны пользовательские функции или другое поведение жизненного цикла, Spring по умолчанию не предлагает, вы можете реализовать BeanPostProcessor самостоятельно.

В дополнение к обратным вызовам инициализации и уничтожения объекты, управляемые Spring, также могут реализовывать интерфейс Lifecycle, чтобы эти объекты могли участвовать в процессах запуска и завершения работы, что обусловлено собственным жизненным циклом контейнера.


Читайте также:


Комментарии

Популярные сообщения из этого блога

Методы класса Object в Java

Как получить текущий timestamp в Java

Основные опции JVM для повышения производительности и отладки