嚴紅軍
spring可以說是在JAVA開發者中最鼎鼎大名的框架了,很多人從來沒有看過jdk源碼,卻對spring中的一切津津樂道,可以說spring從jdk中誕生,但是卻無限增加了JAVA的魅力!
spring誕生背景是什麼?
以前的JAVA對象,無論是在方法中使用,或者注入都需要new出來,由應用程序或者直接說開發者中進行管理,不僅會創建大量對象,還難屬於強耦合,spring憑藉著IOC(控制反轉)的理念將對象的創建與維護都使用spring容器來做,通過依賴注入實現對象的在運行期的注入使用!
spring有什麼好處?
除了上面說到的控制反轉,管理對象以外,spring還集成了諸多優秀的功能!!
1,解耦:用對代碼的低侵入性消除了原本對象之間的強依賴關係!
2,spring aop:面向切面編程,可以讓我們把類似於日誌輔助,安全驗證,攔截等等這種非業務代碼抽象出來,實現與業務代碼的解耦!
3,spring提供了方便的組件插拔,能讓開發者快速的集成諸如緩存,數據庫連接,消息等更為豐富的組件!
4,spring支持事務處理,通過簡單的註解就可以開啟事務!
5,spring家族的springboot可以用來當做微服務基礎架構,springcloud更是隻需要很少的配置和代碼編寫便能獲得一個穩定的服務架構!
spring可以說是好處多多,很多人把spring當做JAVA聖經,不僅獲得良好的使用體驗,從spring源碼學到編程技巧,設計模式等!
關於spring,還有更多話要說,以後會逐步分享,敬請關注。。。
哎喲JAVA不錯哦
Spring在推動java登上編程語言榜首位置的戰役中,功不可沒。
那麼我們來聊聊,spring到底做了什麼,能夠讓Java決勝千里之外。
輕量級框架
首先,Spring是一個輕量級框架,使用起來基本沒有任何負擔,最基礎的版本只有2M!
控制反轉
Spring能夠實現控制反轉,從而降低了對象之間的耦合。有時也稱之為依賴注入,當調用者需要使用被調用者的時候,只需要通過Spring來獲取被調用者實例即可,而無需參與被調用者的生命週期。這也是減少了開發者的負擔。
面向切面編程
這也是Spring非常突出的優勢,通過把應用業務邏輯與系統分開,進一步分解了功能實現,降低了耦合度。
容器
Spring包含並管理了項目中對象的生命週期配置,這與在依賴注入中提到的調用者無需參與被調用者的生命週期意義一致。每個角色當然是負責的工作越少越好,越單一越好。
事務管理
Spring提供了一個持續性的事務管理接口,可以通過配置文件來實現事務支持,而不需要手動編程。
非侵入式
這裡體現了Spring作為一個框架的優秀自知之明,一個優秀的框架就是存在感極低的幫助你解決了很多麻煩。spring倡導的非侵入式就是這樣的一種思想,用戶可以在任何時刻引入或者移除Spring,而無需對代碼邏輯進行深度修改。
Spring框架目前並不會單獨出現在JAVA工程中,通常是與SpringMVC,Hibernate或者mybatis一起出現,簡稱SSH或者SSM框架。使用上述框架的好處是上手十分迅速,就算是初學者也能夠在教程的指點下迅速部署好環境,快速開始開發工作。
以上是我的淺見,歡迎各位在下方評論區留言交流。
我是蘇蘇思量,來自BAT的Java開發工程師,每日分享科技類見聞,歡迎關注我,與我共同進步。
蘇蘇思量
目前Java常用的開發框架有springmvc和spingboot,數據庫使用mybatis。使用這種組合框架能夠快速構建企業級的應用或結合微服務框架構建微服務應用。結合請求分發映射,對象注入等技術,以及強大的註解功能,讓開發變得很簡單!
Linux腳本之家
說白了就是把java在企業開發過程中經常遇到的問題或者說要解決的問題,抽象成一個框架。
比如你有個需求要在所有的請求加上入參和出餐的日誌,一個個加也太麻煩了,用spring的aop就很方便,雖然aop也不是spring獨有的概念,其實spring的作用就在這裡,使經常需要用到的功能實現變得簡單,可以說spring其實並沒有發明啥新的東西出來,aop ioc都是已經有的概念,其作用還是對企業級開發的簡化
愨於朽之愛
1、加快開發速度
2、降低學習成本
3、集成相關組件和功能
4、減少代碼冗餘
程序員江湖
把各種組件集合進來,降低各種組件的耦合度。