Spring中Bean的生命周期可以分為以下幾個(gè)階段:
1.實(shí)例化Bean:Spring容器根據(jù)Bean的定義創(chuàng)建Bean的實(shí)例對象。
2.設(shè)置Bean的屬性:Spring容器將配置文件中的屬性值和Bean實(shí)例進(jìn)行屬性注入。
3.調(diào)用Bean的初始化方法:如果Bean實(shí)現(xiàn)了InitializingBean接口,Spring容器將調(diào)用其定義的初始化方法。
4.Bean已經(jīng)可以使用:此時(shí)Bean已經(jīng)被完全初始化,可以使用。
5.調(diào)用Bean的銷毀方法:如果Bean實(shí)現(xiàn)了DisposableBean接口,Spring容器在銷毀Bean之前會調(diào)用其定義的銷毀方法。
在實(shí)際應(yīng)用中,還可以通過配置自定義的初始化和銷毀方法來擴(kuò)展Bean的生命周期,例如使用@Bean注解的initMethod和destroyMethod屬性或者通過實(shí)現(xiàn)BeanPostProcessor接口來自定義Bean的初始化和銷毀方法。