@PostConstruct добавляет поведение при запуске (после внедрения всех зависимостей, конструкторов и установщиков), а @PreDestroy добавляет поведение при завершении работы (до уничтожения экземпляра компонента, когда закрывается настраиваемый контекст приложения и если приложение завершает работу нормально. Не требуется для прототипа бобов). Аннотированные методы могут иметь любую видимость, но не должны принимать никаких параметров и возвращать только void.
@PostConstruct void populateCache() { ... } @PreDestroy void flushCache() { ... }
В качестве альтернативы, аннотация @Bean имеет параметры init Method и destroyMethod:
@Bean(initMethod="populateCache", destroyMethod="flushCache") public Repository repository() { ... }
Оригинал: “https://dev.to/eidher/postconstruct-and-predestroy-in-spring-2lkh”