Spring系列之初識Spring Spring概述

一隻胡說八道的猴子發表於2020-09-14

初始Spring

啥是Spring?
下面這個就是Spring
在這裡插入圖片描述
Spring當然不是上面那個Spring,Spring之所以命名為Spring是因為這個開源的輕量級的開源框架的出現給軟體行業帶來了春天,促進了軟體行業的發展
Spring的理念:整合現有的框架技術,使技術更加實用,是一個大雜燴

Spring的相關概念

1.Spring是分層的javaEE/SE應用full-stack輕量級開源框架,以IOC(inverse of control:反轉控制 aspect oriented programming:面向切面程式設計)和AOP為核心
在這裡我寫簡單講解一下IOC,至於aop我之後的文章再坐敘述
*(一位大牛把IOC和DI講解的十分通俗易懂,連結如下:http://jinnianshilongnian.iteye.com/blog/1413846,大傢伙可以去看看
IOC(控制反轉):
是一種設計思想,而不是一種技術。其主要內容就是把建立物件的任務交給Spring去管理,把物件加入到Spring提供的IOC容器中,由容器進行管理,而不是由物件內部進行管理設定。
所有的類都會在spring容器中登記,告訴spring你是個什麼東西,你需要什麼東西,然後spring會在系統執行到適當的時候,把你要的東西主動給你,同時也把你交給其他需要你的東西。所有的類的建立、銷燬都由 spring來控制,也就是說控制物件生存週期的不再是引用它的物件,而是spring。對於某個具體的物件而言,以前是它控制其他物件,現在是所有物件都被spring控制,所以這叫控制反轉。**
在這裡插入圖片描述

DI(Dependency Injection):oC的一個重點是在系統執行中,動態的向某個物件提供它所需要的其他物件。這一點是通過DI(Dependency Injection,依賴注入)來實現的。比如物件A需要運算元據庫,以前我們總是要在A中自己編寫程式碼來獲得一個Connection物件,有了 spring我們就只需要告訴spring,A中需要一個Connection,至於這個Connection怎麼構造,何時構造,A不需要知道。在系統執行時,spring會在適當的時候製造一個Connection,然後像打針一樣,注射到A當中,這樣就完成了對各個物件之間關係的控制。A需要依賴 Connection才能正常執行,而這個Connection是由spring注入到A中的,依賴注入的名字就這麼來的。那麼DI是如何實現的呢? Java 1.3之後一個重要特徵是反射(reflection),它允許程式在執行的時候動態的生成物件、執行物件的方法、改變物件的屬性,spring就是通過反射來實現注入的。

除了上面的IOC和AOP,Spring還有其他許多優良特性
1.非侵入式:基於Spring開發應用的物件不一定要使用Spring中的API
2.容器:Spring是一個容器,由Spring管理容器中物件的生命週期
3.依賴注入DI(Dependency Injection):不需要再通過xxxSet()方法來設定物件的屬性值,而是通過配置的方式來實現
4.提供了展現層 SpringMVC 和持久層 Spring JDBCTemplate 以及業務層事務管理等眾多的企業級應用技術,整合了許多開源世界上許多優秀的第三方框架與資源庫,逐漸成為使用最多的Java EE 企業應用開源框架。
5.宣告式事務的支援:將我們從複雜的事務管理程式碼中解放出來。提高開發效率
6.方便程式的測試:可以用非容器依賴的程式設計方式進行幾乎所有的測試
7.降低Java EE API的使用難度:Spring對javaee 的API進行了簡單的封裝(JDBC,遠端呼叫等),使APID的使用難度大大降低

Spring體系結構圖

在這裡插入圖片描述

**

Spring框架分為四大模組

**:

Core核心模組。負責管理元件的Bean物件

spring-beans-4.0.0.RELEASE.jar

spring-context-4.0.0.RELEASE.jar

spring-core-4.0.0.RELEASE.jar

spring-expression-4.0.0.RELEASE.jar

面向切面程式設計

spring-aop-4.0.0.RELEASE.jar

spring-aspects-4.0.0.RELEASE.jar

資料庫操作

spring-jdbc-4.0.0.RELEASE.jar

spring-orm-4.0.0.RELEASE.jar

spring-oxm-4.0.0.RELEASE.jar

spring-tx-4.0.0.RELEASE.jar

spring-jms-4.0.0.RELEASE.jar

Web模組

spring-web-4.0.0.RELEASE.jar

spring-webmvc-4.0.0.RELEASE.jar

spring-websocket-4.0.0.RELEASE.jar

spring-webmvc-portlet-4.0.0.RELEASE.jar

在這裡插入圖片描述
以上就是Spring概述,這也是我Spring系列的第一篇,後面我會繼續更新,寫作不易,請各位老鐵點個贊支援一下,覺得有幫助的也可以收藏呀,我會經常更新文章,也可以關注我呀

在這裡插入圖片描述

相關文章