1. 程式人生 > 實用技巧 >3、AOP面向切面程式設計

3、AOP面向切面程式設計

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屬性,執行指定的方法。