Дмитрий Бабанин@lord_detson
Java Software Developer
Информация
- В рейтинге
- Не участвует
- Откуда
- Минск, Минская обл., Беларусь
- Дата рождения
- Зарегистрирован
- Активность
Специализация
Десктоп разработчик, Бэкенд разработчик
Старший
От 8 000 $
Java
Java Spring Framework
Spring Boot
Swing
JavaFX
Apache Maven
Intellij IDEA
Git
Docker
Jenkins
Спасибо большое) Вы, кстати, тоже затронули интересную тему, которую я захотел раскрыть чуть подробнее.
Я реализовал еще один тестовый стэнд, который ответил бы на вопросы:
Есть ли отличие в жизненных цыклах Spring Framework между версиями?
В версии 1.2.9 статический блок инициализации вызывается в самом начале.
Это отличается от версии 2.5.6 и более поздних версий, поскольку статический блок инициализации вызывается после
BeanFactoryPostProcessorиBeanPostProcessor.Методы уничтожения
BeanFactoryPostProcessorиBeanPostProcessorвызываются перед методами уничтожения бинов.Это самая большая разница между версиями. Более поздние версии просто добавили новые инструменты интеграции.
Я также заметил, что методы обратного вызова инициализации и уничтожения вызываются для
BeanFactoryPostProcessor, хотя он не был в конфигурации на основе аннотаций. Это основное отличие между конфигурациями на основе XML и аннотаций.Есть ли отличия в жизненных цыклах Spring Framework и Spring Boot?
Ответ: нет, так как Spring Boot внутри себя использует тотже Spring Framework.
Стоит ли бояться изменений жизненного цикла в будущих версиях?
Можно не бояться использовать средства интеграции Spring, так как порядок жизненного цикла скорее всего не изменится в последующих версиях.
Также можно заметить, что в целом разработчики фреймворка только добавляют новые инструменты, а не изменяют старые, чтобы сохранить обратную совместимость и не создавать дополнительные боли при переходе на новую версию фреймворка.
Конечно, вы должны быть осторожны с жизненным циклом, как и с любым другим инструментом, и вести осмысленную документацию.
Более подробно вы можете прочитать перейдя по ссылке.
Да, вы правы. Большое спасибо за подсказку! Я исправил это)
Не буду настаивать на том, что бы вы поверили, что это я написал на основе своих заметок в Obsidian. В я даже могу понять почему у вас может складываться такое впечатление. Я старался все показать и объяснить достаточно кратко и емко. И я думаю, что ChatGPT придерживаеться такомуже принципу.
Мне главное, что бы статья была полезная для сообщества программистов, а все остальное не важно)
Спасибо, что уделили время!