編程 || 壞人Spring

Spring也是一個惡魔,我認為它帶給我的麻煩甚至比它解決的問題還多。
很明顯早期開發(fā)Web項目用Servlet就完事兒了,一個工程里頭又有多少邏輯需要用上Spring來管理依賴呢,我統(tǒng)統(tǒng)去new對象真的那么的麻煩嗎?我從來不覺得new一個對象很麻煩,反而因為Spring本身的各種語法問題,循環(huán)依賴問題,各種aop之后搞不清調用鏈路的問題,害我花費了大量時間。真的,就是寫一點點的增刪改查,給我那么多事兒!

那已經這樣了,接受現實。Spring到底是什么?
如果Java是一個人,那Spring就是一個道德婊。Java能做的任何事兒,Spring都跳出來說不對,你不能這么搞,你要這么搞。煩的不行。
它最主要的東西就是IOC和AOP。

IOC就是控制轉移。就是我本來能new的,現在不能new了,就算是Java自帶的語法也不行!我通過聲明的方式來表達類和類的關系,這個聲明,就是通過Spring來聲明。具體的實現有三種,分別是xml形式、注解形式、編程形式。IOC就是這個作用,其他沒了。如果硬要說還有點啥,那它就是名冊,在名冊里頭是有編制的,可以享受它提供的其他各種服務。實際上誰care這些服務呢。

AOP是面向切面。什么是切面,說白了就是執(zhí)行方法前,執(zhí)行一個通用方法,比如鑒權。這個更容易,就是代理模式。當別人問細節(jié),我說最好就別問了。真的,AOP的實現細節(jié)是最不重要的,到處都是。

就是IOC和AOP這兩件事兒,就是我們日常編程里面,類與類合作起來的最大的事兒,Spring都說你不行,你腿瘸的,你得用我的外骨骼。Spring給你包圓了。

這還不夠。我們想到的其他領域,比如安全,有SpringSecurity;比如異步,也有Async之類的處理;比如批處理,有SpringBatch;比如國家化,Spring就有i18n的工具;

Spring看Servlet不爽,搞了個SpringMVC,也沒看出哪里好來。

因為web.xml太復雜了,Spring也要來管一管它,就有了SpringBoot,一鍵啟動的web服務器。什么,
Boot還有什么習慣優(yōu)于配置。媽的給我固定格式好了呀,我要什么習慣優(yōu)于配置啊,特么的業(yè)務開發(fā)里面最常用的那些個配置,還不是要配置,那些個最不常用的配置給我來個習慣優(yōu)于配置,反而搞的更加看不懂,真的解決用戶問題了嗎?但是,不管怎么說,這是一次自救。沒有Boot就沒有Spring了,一個項目本來復雜度是1,用了Spring復雜度就是10,有了boot復雜度回到5。如果沒有boot的話,Spring早就亡了。

因為微服務概念出來,Spring立刻搞了一套SpringCloud,包含Ribbon、Feign、Eureka、Hytrix、Nacos等等一大推組件。

還有什么是Spring不想搞的,真的很好奇。

所以我們想搞任何功能之前,先去看看Spring有沒有點東西。有的話,最好還是用Spring的。

不知道為什么,如果Spring是個人,我覺得Spring是一個很激進的,手伸的很長的人。他很猛,也很霸道,他除了拿Java沒辦法,他想架空所有其他組件。

我非常地討厭Spring。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容