1. 程式人生 > 其它 >spring知識點總結[個人心得]

spring知識點總結[個人心得]

1.1、Spring框架

1.1、Spring框架

核心容器:包含spring-core,spring-beans,spring-context,spring-expression四個模組。

spring-core和spring-beans模組提供了整個框架最基礎的部分,包括IOC(Inversion of Control 控制反轉)和Dependency Injection(DI 依賴注入),其中,不僅定義了IOC容器的最基本介面(BeanFactory),也提供了一系列這個介面的實現,除此之外還提供了一些應用上下文供使用者使用,例如我們常用的ClassPathXmlApplicationContext。spring-expression模組提供了一種強大的用於在執行時查詢操作物件的表示式語言,該語言支援對屬性值,屬性引數,方法等呼叫,從Spring IOC容器中根據名稱獲得物件。

spring-aop模組提供了AOP面向切面的程式設計實現,從傳統的縱向擴充套件中解脫,達到邏輯與服務分離的效果,分離的spring-aspects模組集成了AspectJ,在這裡宣告一下AspectJ並不是Spring的一部分。

spring-instrument模組提供了類instrumentation支援和使用在某些應用伺服器上的類載入器實現。

spring-jdbc模組:提供了jdbc的抽象層。

spring-tx模組:提供了支援實現特殊介面和宣告式事務的管理

spring-orm模組:spring-orm模組為流行的物件-關係對映api提供整合層

spring-web模組:提供了基本的面向web的整合特性

spring -webmvc模組(也稱為web
servlet模組)包含web應用程式的Spring模型-檢視-控制器(MVC)實現。Spring的MVC框架為域模型程式碼和web表單提供了清晰的分離,並與Spring框架的所有其他特性整合在一起。

spring-test模組:支援單元測試和整合測試(使用Junit或者spring的元件)

1.2、Spring框架擴充套件
Spring Boot與Spring Cloud

Spring Boot 是 Spring 的一套快速配置腳手架,可以基於Spring Boot 快速開發單個微服務;

Spring Cloud是基於Spring Boot實現的;

Spring Boot專注於快速、方便整合的單個微服務個體,Spring Cloud關注全域性的服務治理框架;

Spring Boot使用了約束優於配置的理念,很多整合方案已經幫你選擇好了,能不配置就不配置 , Spring Cloud很大的一部分是基於Spring Boot來實現,Spring Boot可以離開Spring Cloud獨立使用開發專案,但是Spring Cloud離不開Spring Boot,屬於依賴的關係。

SpringBoot在SpringClound中起到了承上啟下的作用,如果你要學習SpringCloud必須要學習SpringBoot。

2、IOC
2.1、IOC本質
控制反轉IOC(Inversion of Control),是一種設計思想,DI(依賴注入)是實現IoC的一種方法,也有人認為DI只是IOC的另一種說法。IOC的程式中 , 我們使用面向物件程式設計 , 物件的建立與物件間的依賴關係完全硬編碼在程式中,物件的建立由程式自己控制,控制反轉後將物件的建立轉移給第三方,個人認為所謂控制反轉就是:獲得依賴物件的方式反轉了。

IoC是Spring框架的核心內容,使用多種方式完美的實現了IoC,可以使用XML配置,也可以使用註解,新版本的Spring也可以零配置實現IoC。

Spring容器在初始化時先讀取配置檔案,根據配置檔案或元資料建立與組織物件存入容器中,程式使用時再從Ioc容器中取出需要的物件。

採用XML方式配置Bean的時候,Bean的定義資訊是和實現分離的,而採用註解的方式可以把兩者合為一體,Bean的定義資訊直接以註解的形式定義在實現類中,從而達到了零配置的目的。

控制反轉是一種通過描述(XML或註解)並通過第三方去生產或獲取特定物件的方式。在Spring中實現控制反轉的是IoC容器,其實現方法是依賴注入(Dependency Injection,DI)。

依賴注入(Dependency Injection,DI)。

依賴 : 指Bean物件的建立依賴於容器 . Bean物件的依賴資源 .

注入 : 指Bean物件所依賴的資源 , 由容器來設定和裝配 .