3、AOP面向切面程式設計
阿新 • • 發佈:2020-09-06
Spring中bean的生命週期:
- Bean容器找到配置檔案中Spring Bean的定義。
- Bean容器利用Java Reflection API建立一個Bean的例項。
- 如果涉及到一些屬性值 利用set方法設定一些屬性值。
- 如果Bean實現了BeanNameAware介面,呼叫setBeanName()方法,傳入Bean的名字。
- 如果Bean實現了BeanClassLoaderAware介面,呼叫setBeanClassLoader()方法,傳入ClassLoader物件的例項。
- 如果Bean實現了BeanFactoryAware介面,呼叫setBeanClassLoader()方法,傳入ClassLoader物件的例項。
- 與上面的類似,如果實現了其他*Aware介面,就呼叫相應的方法。
- 如果有和載入這個Bean的Spring容器相關的BeanPostProcessor物件,執行postProcessBeforeInitialization()方法
- 如果Bean實現了InitializingBean介面,執行afterPropertiesSet()方法。
- 如果Bean在配置檔案中的定義包含
init-method
屬性,執行指定的方法。 - 如果有和載入這個Bean的Spring容器相關的BeanPostProcessor物件,執行postProcessAfterInitialization()方法
- 當要銷燬Bean的時候,如果Bean實現了DisposableBean介面,執行destroy()方法。
- 當要銷燬Bean的時候,如果Bean在配置檔案中的定義包含
destroy-method
屬性,執行指定的方法。