-
1 # 程式猿洞穴
-
2 # 此生唯一
就我的經驗來看,學習JAVA不一定要學spring,你可以開發小應用,你可以做圖形介面,你可以做android開發!但如果你是做伺服器開發,那麼spring是你必須的選擇!
我JAVA從業經驗中,經歷了SSH,SSM,SpringMVC+M,Spring boot和Spring cloud,等等框架,核心都是Spring,都離不開spring!
spring的妙用有哪些呢?從spring設計伊始就是為了解決物件的建立和管理!後來功能愈發的完善,變成了壟斷性的框架!
1,控制反轉(IOC)的思想,運用依賴注入(DI)的技術,讓我們管理物件的時候再也不用new new new了!防止大量物件的建立!防止元件之間的強依賴!
2,運用了大量的反射,代理,工廠方法,是我們學習編碼技巧的最好模範!
3,AOP(面向切面程式設計)技術,能夠使用少量程式碼搭建完美的的日誌管理,許可權管理,執行期監控!
4,低侵入性!讓我們可以輕鬆耦合諸如struts,hibernate,mybatis,redis,memcache,amoeba,actibemq等包括資料層,控制層,快取,資料中介軟體,訊息中介軟體的中介軟體!
5,低耦合特性:透過依賴注入特性,可以藉助spring容器建立,管理物件,防止在程式碼中硬性注入物件,防止物件混亂!
6,透過@transaction註解,可以實現宣告式事務,在註解中的程式碼都可以在一個事務當中,實現最簡單的事務控制,異常回滾!
7,spring原始碼使用了諸如工廠,單例,代理,構造者,策略,模板等多種設計模式,是JAVA程式設計師寫出優良程式碼的不二範例!
8,提供大量諸如beanUtils,qstringUtils等優秀工具類!
.....
但是spring 4之前,用spring開發web配置過於繁雜,笨重!讓程式設計師不用專注於業務程式碼開發,spring boot ,spring cloud由此誕生,將spring再次推向輝煌神壇!
spring cloud家族:
1,web開發:使用web-starter將web開發精煉到極其簡單的地步,只需簡單的幾行程式碼就可以實現一個服務!
2,服務發現和治理:使用eureka-starter將服務註冊到指定伺服器上,對於健康,宕機的服務進行自動管理!
3,熔斷器:Hystrix用於諸如遇到雪崩效應,不斷大量重試等自動服務熔斷!
4,閘道器:使用zuul實現閘道器路由!
5,配置集中化管理:使用config實現配置檔案的統一管理和熱部署!
.......
可以說spring是JAVA程式設計師的《葵花寶典》,其中提供的各種大招,能簡化我們的開發,大大提升開發效率!
作為JAVA工程師,你用spring嗎?
-
3 # 國際善待程式設計師組織
如果你指的是java server side的開發,那麼DI/IOC/AOP已經成了一種不需要講出來的基礎設施了。而spring則是這個領域的事實標準(Google的Juice也是一個選擇),沒必要繞開它不用或者自己造輪子。所以,Spring以及它所代表的程式設計理念,毫無疑問是流行的。
從我的經驗來講,我用Spring很多年,但絕大多數時候我都沒想起我在用Spring,因為我沒有什麼需要與Spring打特別的交道,它只是作為一個DI容器,安安靜靜呆在下面。
我個人有個習慣,不喜歡與一個框架深度糾纏,那麼我就要想法子包裝/抽象它讓它變成可插拔的,對我的業務程式碼沒有侵入和深度耦合。
當然,Spring現在非常龐大了,除了核心的IOC容器,還有一堆元件/框架,這就需要根據專案的具體場景,選擇要用什麼。時下流行的微服務,肯定就選cloud/boot,比如我個人不喜歡MVC,所以從來不用spring web框架。
所以,開發是個動腦子的活兒,要用什麼,怎麼用,永遠是你說了算;而不是被某一個框架綁架了,不明就裡上來就SSH。
-
4 # 小崔愛讀書
Spring還是流行的,一點兒問題都沒有。
推薦學習一下SpringBoot SpringCloud。這些都是基於Spring的框架,非常優秀,就不要用SpringMVC或Struts了。思想完全不一樣的。
回覆列表
JavaWeb框架從之前的SSH,到現在的SSM,軟體的構架在化重從輕,之前非常好用的Struts和Hibernate被人們認為太笨重,效率低,這是一個追求效率的時代,Struts被SpringMVC取代,Hibernate被MyBatis取代。
為什麼Spring沒有被取代?而且還又來了一位Spring家族的成員,Spring框架實在是太厲害了,而且遠遠不止這些,我們會慢慢看到Spring的野心,是把所有的東西全部取代,成為Web一站式解決方案。
Spring Boot的出現大大方便了Web開發流程,Spring Cloud更是想成為分散式系統的構架標準,現在的微服務構架大多數都開始用Spring Boot進行開發。Spring家族產品幾乎遍及各個技術層。而且應用的越來越廣泛。
所以說,Spring框架在不斷的發展中,而且更是把握住了現在正流行的分散式微服務系統的構架主導,流行是必然。