Spring系列之初識Spring Spring概述
初始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講解的十分通俗易懂,鏈接如下://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系列的第一篇,後面我會繼續更新,寫作不易,請各位老鐵點個贊支持一下,覺得有幫助的也可以收藏呀,我會經常更新文章,也可以關注我呀