Struts2 为什么被淘汰?自己作死!
Struts2 那些年可謂是風(fēng)光無限啊,Struts2 + Spring + Hibernate 三大框架一起組成了 "SSH"————牛逼哄哄的 Java Web 框架三劍客。
SSH,有過幾年工作經(jīng)驗(yàn)的 Java 程序員應(yīng)該都聽說過吧?現(xiàn)在剛出來工作的小弟弟、小妹妹們應(yīng)該很少有人了解它了。
但,那個(gè)還屬于 SSH 風(fēng)靡的年代,不管你是在學(xué)校學(xué)習(xí),還是去培訓(xùn)機(jī)構(gòu)培訓(xùn),還是去任何一家軟件公司面試,SSH 那就是標(biāo)配了。
?
時(shí)過境遷,現(xiàn)在除了老掉牙的老項(xiàng)目,已經(jīng)很少有公司還用 Struts2 開發(fā)了,甚至從招聘崗位技能上、以及面試者的簡歷上消失。
?
當(dāng)然,也有傳統(tǒng)項(xiàng)目招 Struts2 人才的,但真的非常少了,比如說下面一個(gè)平安的項(xiàng)目:
看這個(gè)招聘的技術(shù)棧就知道是一個(gè)老項(xiàng)目了,還是 SSH 那一套。
棧長近幾年也面試了不少人,很少有簡歷寫 Struts2 的,招來的新人也都不會(huì)用 Struts2,老項(xiàng)目維護(hù)起來甚于棘手。
顯然,Struts2 已被 Spring MVC/ Spring Boot 所取代,Hibernate 也逐漸被 MyBatis/ Spring Data JPA 所取代,至少在國內(nèi)是這樣,現(xiàn)在已經(jīng)是?SSM?的天下了,說 Struts2 被淘汰一點(diǎn)也不為過。
SSM了解下:
SSM = Spring + Spring MVC/ Spring Boot + MyBatis
那么,為什么 Struts2 會(huì)被淘汰呢?
我認(rèn)為有以下兩個(gè)主要原因!
1、漏泄太多
Struts2 漏洞多是出了名的,影響巨大,這也是 Struts2 被淘汰的主要原因,自己作死。
BAT都被禍及過,特別是某東那次事故比較嚴(yán)重,有興趣的可以查一下,其他涉及的站點(diǎn)更是不計(jì)其數(shù)了。
我司老項(xiàng)目也一直在為 Struts2 不斷打補(bǔ)丁包,替換成本又高,不甚其煩,還好是內(nèi)部項(xiàng)目。
2、可怕的后浪
隨著 Spring 推出 Spring MVC 框架,其天生就能與 Spring 無縫結(jié)合,開發(fā)效率和性能都要吊打 Struts2, 13年開始就已經(jīng)有很多企業(yè)用 Spring MVC 代替 Strust2 了。
現(xiàn)在,后浪 Spring Boot 大行其道,零 XML 配置,開箱即用,效率翻倍,開發(fā)只需要關(guān)注業(yè)務(wù)實(shí)現(xiàn),不用再多關(guān)注框架配置,更是加快了 Struts2 的淘汰進(jìn)程。
Spring Boot 確實(shí)好用,系列教程我在公眾號(hào)Java技術(shù)棧都寫了一大堆了,有興趣的可以關(guān)注翻閱學(xué)習(xí),都是我這幾年寫的干貨。
當(dāng)然,除了 Spring 全家桶,市面上還有小而美的 Vert.x、jFinal 等 Web 開發(fā)框架,它們也有各自存在的市場,大家各有所需,沒有誰更牛逼。
現(xiàn)在的開發(fā)市場,除了老項(xiàng)目,還有誰會(huì)在新項(xiàng)目上用 Struts2 的?如果是這樣,那真的 Struts2 真愛啊,或者是井底之蛙……
你怎么看待 Struts2 被淘汰?
歡迎留言分享!
《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結(jié)
以上是生活随笔為你收集整理的Struts2 为什么被淘汰?自己作死!的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 探寻繁杂定时任务的解决方案:分布式任务调
- 下一篇: 面试官问:你讲讲分布式事务问题的几种方案