Spring 的生命周期:
粗捏可以分為三個階段,它是有bean的第一次加工,還有bean的第二次加工過程,首先bean的第一次加工,將你的對象實例化,在這實例化的前後,有一個BeanPostProcessor在做前置和後置處理,第二步就是它的依賴注入的過程,在這個過程之中,首先它會設置它的一個屬性值,然後它對bean實現的BeanAware相關接口,像BeanNameAware,或者DisposableBean這接口的話,就會給你的bean注入相應的aware的屬性,這裡有2步,這兩步前後也有BeanPostProcessor後處理操作,其實第二步之後,這bean已經接近一個完成期了。但它還有一個bean的二次加工,在這個二次加工前後,他也是有一個
你可以像ApplicationContext那樣,配置一個自定義的後置處理bean,然後它在工程中主要是調用,你在bean中寫的environment的一個方法,或者你的bean實現了一個InitializingBean,它會第二次回調你的afterPropertiesSet方法,對bean做進一步設置,bean的二次加工完成之後,你的bean就已經建立完成了,也就是說他會根據你的bean的scope,如果是一個單列的bean,默認是單例的,它就會走下去,如果是多實例,你的bean的scope是prototype,多實例的話,就會移交給你去管理它的後續的生命周期,單實例的話,生命周期還是由spring來管理的,當spring容器銷毀的時候,他會調用destory方法,若你實現的是一個Disposable Bean,實現的那個接口也會有你銷毀的邏輯,這是bean整個生命周期的過程。