Я использую Spring-приложения, которые иногда используют @PostConstruct
для настройки в коде и тестах
Похоже, что аннотация будет исключена из Java 11 :
Обратите внимание, что аннотации @PostConstruct и @PreDestroy являются частью Java EE.А поскольку Java EE устарела в Java 9 и удалена в Java 11, мы должны добавить дополнительную зависимость для использования этих аннотаций
Статья предлагает заменить все @PostConstruct
на afterPropertiesSet
method
Я рекомендую вам изменить реализацию с аннотации @PostConstruct для реализации интерфейса org.springframework.beans.factory.InitializingBean.
Можно ли заменить его вслепую ввсе дела?или есть другие соображения?
РЕДАКТИРОВАТЬ
Как предположил @JBNizet, это может быть не обязательным или необходимым, так как Spring doc предлагает противоположное
Мы рекомендуем не использовать интерфейс InitializingBean , поскольку он излишне связывает код с Spring .В качестве альтернативы мы предлагаем использовать аннотацию @ PostConstruct или указать метод инициализации POJO.
РЕДАКТИРОВАТЬ 2
Другой вариант использует initMethod
:
В конфигурации Java вы можете использовать атрибут initMethod@ Bean
@Bean(initMethod = "init")
public BeanOne beanOne() {
return new BeanOne();
}