Spring介紹 Spring的核心是一個輕量級(Lightweight)的容器(Container),它是實現IoC(Inversion of Control)容器和非入侵性(No intrusive)的框架,並提供AOP(Aspect-oriented programming)概念的實現方式;提 ...
Spring介紹
Spring的核心是一個輕量級(Lightweight)的容器(Container),它是實現IoC(Inversion of Control)容器和非入侵性(No intrusive)的框架,並提供AOP(Aspect-oriented programming)概念的實現方式;提供對持久層(Persistence)、事物(Transcation)的支持;提供MVC Web框架的實現,並對一些常用的企業服務API(Application Interface)提供一致的模型封裝,是一個全方位的應用程式框架(Application Framework),除此之外,對現存的各種框架(Structs、JSF、Hibernate、Ibatis、Webwork等),Spring也提供了與他們相整合的方案。 → 回答解析: 對於面試者回答什麼是Spring,這個問題占6分分值,分值點分佈: 1、Spring的核心是一個輕量級(Lightweight)的容器(Container)。 輕量級:程式實現不是很複雜,代碼不是很多,占用資源不是很多,沒有侵入性; 容器:可以容納對象,並且可以控制對象的生命周期; 2、Spring是實現IoC(Inversion of Control)容器和非入侵性(No intrusive)的框架。 IOC(Inversion of Control 控制反轉):對象創建責任的反轉(重點,核心); 3、Spring提供AOP(Aspect-oriented programming)概念的實現方式。 Aop(Aspect Oriented Programming):一種面向橫切麵編程的思想方式,可以進行功能性擴展。 4、Spring提供對持久層(Persistence)、事物(Transcation)的支持。 5、Spring供MVC Web框架的實現,並對一些常用的企業服務API(Application Interface)提供一致的模型封裝。 6、Spring提供了對現存的各種框架(Structs、JSF、Hibernate、Ibatis、Webwork等)相整合的方案。 總之,Spring是一個全方位的應用程式框架。
Spring要學習的知識點如下:
Spring的主要功能如下:
這裡邊主要包括了Spring自身的功能,還有可以和其框架結合的一些框架,通過這張圖可以看出,Spring框架和其他框架的集成能力是非常強的。
Spring的優點和缺點
優點:
輕量級的容器框架,沒有侵入性
IoC更加容易組合對象之間的關係,通過面向介面進行編程,可以低耦合開發。
易於本地測試(Junit單元測試,不用部署伺服器)
AOP可以更加容易的進行功能擴展,遵循OCP開發原則。
Spring預設對象的創建為單例的,我們不需要再使用單例的設計模式來開發單體類。
Spring的集成很強大,另外可以對其他框架的配置進行一元化管理。
Spring的聲明式事務的方便使用。
缺點:
就是開發對設計要求較高,集成測試麻煩,對框架有一定的依賴性。