Spring IoC контейнер: конфигурация на основе аннотаций, @PostConstruct и @PreDestroy
CommonAnnotationBeanPostProcessor распознает не только аннотацию @Resource, но и аннотации жизненного цикла JSR-250: javax.annotation.PostConstruct и javax.annotation.PreDestroy. Представленная Spring 2.5, поддержка этих аннотаций предлагает альтернативу механизму обратного вызова жизненного цикла, описанному в обратных вызовах инициализации и обратных вызовах уничтожения. При условии, что CommonAnnotationBeanPostProcessor зарегистрирован в Spring ApplicationContext, метод, содержащий одну из этих аннотаций, вызывается в той же точке жизненного цикла, что и соответствующий метод интерфейса жизненного цикла Spring или явно объявленный метод обратного вызова. В следующем примере кэш предварительно заполняется при инициализации и очищается при уничтожении:
Java
public class CachingMovieLister {
@PostConstruct
public void populateMovieCache() {
// заполняет кэш фильма при инициализации...
}
@PreDestroy
public void clearMovieCache() {
// очищает кэш фильма при уничтожении...
}
}
Kotlin
class CachingMovieLister {
@PostConstruct
fun populateMovieCache() {
// заполняет кэш фильма при инициализации...
}
@PreDestroy
fun clearMovieCache() {
// очищает кэш фильма при уничтожении...
}
}
Как и @Resource, типы аннотаций @PostConstruct и @PreDestroy были частью стандартных библиотек Java от JDK 6 до 8. Однако весь пакет javax.annotation был отделен от основных модулей Java в JDK 9 и в конечном итоге удален в JDK 11. При необходимости, артефакт javax.annotation-api необходимо получить через Maven Central, просто чтобы добавить в путь к классам приложения, как и любую другую библиотеку.
Читайте также:
- Spring IoC контейнер: конфигурация на основе аннотаций, @Resource
- Spring IoC контейнер: конфигурация на основе аннотаций, @Value
- Spring IoC контейнер: конфигурация на основе аннотаций, использование @Autowired
- Spring IoC контейнер: конфигурация на основе аннотаций, настройка автопривязки на основе аннотаций с @Qualifier
Комментарии
Отправить комментарий