Объяснение жизненного цикла Spring Bean [с примером кодирования]
Опубликовано: 2020-08-12Бин — это объект в приложении. Бин создается, используется и, наконец, уничтожается, когда его цель исчерпана. Это разные стадии весеннего жизненного цикла. Весь жизненный цикл Spring bean контролируется контейнером Spring IoC (Inversion of Control). Вот почему эти бобы называются весенними.

источник
Оглавление
Жизненный цикл Spring Bean

источник
В жизненном цикле бина spring в первую очередь создается экземпляр бина. После создания экземпляра bean-компонент проходит последовательность шагов, прежде чем будет готов к использованию. Когда bean-компонент больше не требуется для какой-либо функции, он уничтожается.
Читайте: 18 лучших интересных весенних проектов, идеи и темы для начинающих
Жизненный цикл Spring bean можно контролировать следующими способами.
- Создание экземпляра с помощью:
- Интерфейс обратного вызова InitializingBean.
- Пользовательский метод init() из файла конфигурации компонента.
- Осведомленные интерфейсы для различных действий.
- Аннотации PostConstruct и PreDestroy.
- Разрушение
- Интерфейс обратного вызова DisposableBean
- Пользовательский метод destroy() из файла конфигурации компонента.
Создание экземпляра компонента
Первый процесс в жизненном цикле бина Spring — создание экземпляра. Создание компонента основывается на файле конфигурации компонента JAVA или XML. Это можно сделать двумя способами.

Они есть:
- Интерфейс обратного вызова InitializingBean: создание экземпляра таким образом выполняется в методе с именем afterPropertiesSet(). Этот метод присутствует в интерфейсе org.springframework.beans.factory.InitializingBean . В приведенной ниже программе создается класс, реализующий этот интерфейс. Это позволяет использовать метод afterPropertiesSet() этого интерфейса в созданном классе.
Ниже приведена программа, изображающая этот процесс создания экземпляра.
импортировать org.springframework.beans.factory.InitializingBean;
открытый класс Makingbean реализует InitializingBean
{
@Override
public void afterPropertiesSet() выдает исключение
{
// Бин инициализируется
}
}
- Созданный пользователем метод создания экземпляра в файле конфигурации bean-компонента: в этом процессе используется файл конфигурации на основе XML. Init-метод этого файла используется для конкретного имени метода создания экземпляра. Этот метод используется в классе для создания экземпляра компонента. Локальное определение одного bean-компонента показано ниже. Таким образом, мы можем создать один bean-компонент.
beans.xml:
<бобы>
<bean id="creatingbean" class="com.workinginjava.work.Creatingbean"
init-method="createInit" ></bean>
</beans>
Проверьте: 7 лучших захватывающих проектов Spring Boot и темы для начинающих
Ниже приведена программа, изображающая этот процесс создания экземпляров путем загрузки файла beans.xml.
пакет com.workinginjava.work;
открытый класс
{
общественное недействительное createInit ()
//Созданный пользователем метод инициализации используется для создания экземпляра компонента
}
Осведомленные интерфейсы: Инфраструктура Spring Framework предоставляет несколько осведомленных интерфейсов. Эти интерфейсы привносят определенное поведение в созданный компонент.

Некоторые из важных интерфейсов Aware включают в себя:
- BeanFactoryAware: setBeanFactory() предоставляет доступ к фабрике компонентов, которая создала объект.
- BeanNameAware: метод setBeanName() в интерфейсе BeanNameAware предоставляет имя компонента.
- ApplicationContextAware: метод setApplicationContext() в этом конкретном интерфейсе предоставляет ApplicationContext компонента.
Аннотации PostConstruct и PreDestroy: PostConstruct — это аннотированный метод. Он вызывается после создания bean-компонента и перед запросом объекта. PreDestroy также является аннотированным методом. Вызывается непосредственно перед разрушением боба.
Следующая программа изображает использование аннотаций
импортировать javax.annotation.PostConstruct;
импортировать javax.annotation.PreDestroy;
открытый класс BeanWork
{
@PostConstruct
общественное недействительное createInit ()
{
// Инициация bean-компонента (PostConstruct)
}
@PreDestroy
общественное недействительное createDestroy ()
{
//Уничтожение бина(PreDestroy)
}
}
createInit() и createDestroy() — это специально созданные методы инициации и уничтожения компонента. Это делается с помощью файла конфигурации компонента XML.
Уничтожение боба
Последним процессом в жизненном цикле весенней фасоли является процесс разрушения. Это процесс удаления боба. Удаление компонента зависит от файла конфигурации компонента JAVA или XML.
Это можно сделать двумя способами
- Интерфейс обратного вызова DisposableBean: удаление выполняется в методе с именем destroy(). Этот метод присутствует в интерфейсе org.springframework.beans.factory.DisposableBean . В приведенной ниже программе создается класс, реализующий этот интерфейс. Это позволяет использовать метод destroy() этого интерфейса в созданном классе .
Ниже приведена программа, изображающая этот процесс создания экземпляра.
импортировать org.springframework.beans.factory.DisposableBean;
открытый класс Destroyingbean реализует DisposableBean
{
@Override
public void destroy() выдает исключение
{
// Бин уничтожен
}
}
- Специально созданный метод уничтожения в файле конфигурации bean-компонента: здесь используется файл конфигурации на основе XML. Метод уничтожения этого файла используется для конкретного имени метода уничтожения. Затем этот метод используется в классе для уничтожения компонента. Ниже показано локальное определение одного компонента и шаги по его уничтожению.
Фасоль . XML:
<бобы>
<bean id="destroyingbean" class="com.workinginjava.work.Destroyingbean"
метод уничтожения = ”createDestroy” ></bean>
</beans>
Ниже приведена программа, изображающая этот процесс уничтожения путем загрузки файла beans.xml:
пакет com.workinginjava.work;
открытый класс Destroyingbean
{
общественное недействительное createDestroy ()
//Для уничтожения бина используется пользовательский метод уничтожения
}

Спринг-бины создаются для определенной цели. Таким образом, каждый боб проходит определенный весенний жизненный цикл. Есть два способа начать и закончить жизненный цикл Spring bean. Если используются интерфейсы InitializingBean и DisposableBean, код привязывается к Spring. Лучшим способом является определение методов инициализации и уничтожения в файле конфигурации компонента.
Читайте также: Весенняя зарплата разработчиков в Индии: для первокурсников и опытных
Изучайте разработку программного обеспечения онлайн в лучших университетах мира. Участвуйте в программах Executive PG, Advanced Certificate Programs или Master Programs, чтобы ускорить свою карьеру.
Подведение итогов
Эти моменты о жизненном цикле весенних бобов могут ответить на некоторые вопросы. Тем не менее, они поднимают новые для вас — Какие ресурсы для начинающего разработчика Full Stack и использование Spring Framework? Каковы масштабы в этой области? И, самое главное, как построить карьеру в этой сфере?
Если вам интересно узнать больше о разработке полного стека, ознакомьтесь с дипломом PG upGrad & IIIT-B по разработке программного обеспечения с полным стеком, который предназначен для работающих профессионалов и предлагает более 500 часов тщательного обучения, более 9 проектов и заданий. , статус выпускника IIIT-B, практические практические проекты и помощь в трудоустройстве в ведущих фирмах.
