spring:《spring实战》读后感一
1.spring所做的一切都是為了簡化java開發。
2.為了降低java開發的復雜性,spring采取了以下4種關鍵策略:?
? ?1).基于POJO的輕量級和最小侵入性編程.
? ?2).通過依賴注入和面向接口實現松耦合.
? ?3).基于切面和慣例進行聲明式編程.
? ?4).通過切面和模板減少樣板式代碼.
?
3. Spring通過應用上下文(Application Context)裝載bean的定義并把它們組裝起來。Spring應用上下文全權負責對象的創建和組裝。Spring自帶了多種應用上下文的實現,它們之間主要的區別僅僅在于如何加載裝置。
4. ?ClassPathXmlApplicationContext作為應用上下文,很適合加載位于應用程序類路徑下的一個或多個xml配置文件。
5. ?DI能夠讓相互協作的軟件組件保持松散耦合,而面向切面編程(aspect-oriented programming, AOP)允許你把遍布應用各處的功能分離出來形成可重用的組件。
6. ?把切面想象為覆蓋在很多組件之上的一個外殼。應用是由那些實現各自業務功能的模塊組成的。 借助AOP, 可以使用各種功能層去包裹核心業務層。 這些層以聲明的方式靈活地應用到系統中,你的核心應用甚至根本不知道它們的存在。這是一個非常
強大的理念, 可以將安全、 事務和日志關注點與核心業務邏輯相分離。
?
?7. 容器是一個框架的核心。
?8.?Spring容器中的bean的生命周期顯得相對復雜。 bean裝載到Spring應用上下文中的一個典型的生命周期過程如下圖所示:
? ?
1). Spring對bean進行實例化;
2). Spring將值和bean的引用注入到bean對應的屬性中;
3). 如果bean實現了BeanNameAware接口, Spring將bean的ID傳遞給setBean-Name()方法;
4). 如果bean實現了BeanFactoryAware接口, Spring將調用setBeanFactory()方法, 將BeanFactory容器實例傳入;
5). 如果bean實現了ApplicationContextAware接口, Spring將調用setApplicationContext()方法, 將bean所在的應用上下文的
引用傳入進來;
6). 如果bean實現了BeanPostProcessor接口, Spring將調用它們的post-ProcessBeforeInitialization()方法;
7). 如果bean實現了InitializingBean接口, Spring將調用它們的after-PropertiesSet()方法。 類似地, 如果bean使用initmethod聲明了初始化方法, 該方法也會被調用;
8). 如果bean實現了BeanPostProcessor接口, Spring將調用它們的post-ProcessAfterInitialization()方法;
9). 此時, bean已經準備就緒, 可以被應用程序使用了, 它們將一直駐留在應用上下文中, 直到該應用上下文被銷毀;
10). 如果bean實現了DisposableBean接口, Spring將調用它的destroy()接口方法。 同樣, 如果bean使用destroy-method聲明
了銷毀方法, 該方法也會被調用。
?
9. spring模塊, spring框架的發布版本包括了20個不同的模塊.
?這些20個模塊依據其所屬的功能可以劃分為6類不同的功能,如下圖
?
總結
以上是生活随笔為你收集整理的spring:《spring实战》读后感一的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数据结构: 排序算法介绍
- 下一篇: spring:《spring实战》读后感