Pull to refresh
3
0
Дмитрий Бабанин @lord_detson

Java Software Developer

Send message

Спасибо большое) Вы, кстати, тоже затронули интересную тему, которую я захотел раскрыть чуть подробнее.

Я реализовал еще один тестовый стэнд, который ответил бы на вопросы:

Есть ли отличие в жизненных цыклах 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 придерживаеться такомуже принципу.

Мне главное, что бы статья была полезная для сообщества программистов, а все остальное не важно)

Спасибо, что уделили время!

Спасибо большое за статью. Мне было очень интересно почитать и по экспериментировать с cache-ем.

Information

Rating
Does not participate
Location
Минск, Минская обл., Беларусь
Date of birth
Registered
Activity

Specialization

Software Developer, Backend Developer
Senior
From 8,000 $
Java
Java Spring Framework
Spring Boot
Swing
JavaFX
Apache Maven
Intellij IDEA
Git
Docker
Jenkins