1. spring簡介
2. spring簡化開發復雜性的策略:
1) 基於POJO的輕量級和最小侵入性編程;
2) 通過依賴註入和面向接口實現松耦合;
3) 基於切面和慣例進行聲明式編程。
基於POJO的輕量級和最小侵入性編程:使用spring框架時,java應用中的bean類不需要繼承或實現spring的接口,不至於這個bean類跟框架綁死。
通過依賴註入和面向接口實現松耦合:只能實現松耦合的效果,不存在完全解耦合的,因為只要存在調用別的類的對象就是耦合,實際業務中是不可能存在無耦合情況的。面向接口只需要傳入接口的實現類對象即可,不需要傳入特定的類對象,達到一定的松耦合效果。使用xml配置好對象的信息後,spring會通過上下文(Application Context接口)來裝載bean和維護bean之間的依賴關系。
基於切面進行聲明式編程:業務中一般會有事務管理、安全校驗、日誌記錄功能,對於這些模塊可以切出一個方法切面。
3. spring容器
在xml裏配置的bean實際上都是由spring容器(container)管理,由spring容器來創建、維護不同bean之間的關系以及bean的生命周期(從創建到銷毀)。
spring容器有兩種,一種是基於beanFactory工廠接口實現的,一種是基於ApplicationContext(上下文)接口實現的,一般都使用上下文接口來實現spring容器,使用getBean()來獲取對象。
4. spring的生態圈
spring有龐大的生態圈,將spring擴展到不同的領域,而且提供了與第三方框架的集成點,例如與數據訪問框架的集成(orm框架),與web服務的集成(web servlet)等。
實際上spring有自己的jdbc模塊,如果開發者不願意直接使用jdbc,spring提供了orm模塊,這個模塊並不是去創建自己的orm解決方案,而是對流行的第三方orm框架進行集成,spring的事務管理支持所有的orm和jdbc。
1. spring簡介