一個工作了4年的小夥伴,他說他從線下培訓就開始接觸Spring,到現在已經快5年時間了。
從來沒有想過,為什麼要使用Spring 框架。
結果在面試的時候,竟然遇到一個這樣的問題。
大腦一時間短路了,來求助我,這類問題應該怎麼去回答。
下面我們來看看普通人和高手的回答
普通人:
嗯。。。。。。。。。。。。。
高手:
Spring是一個輕量級應用框架,它提供了IoC和AOP這兩個核心的功能。
它的核心目的是為了簡化企業級應用程式的開發,使得開發者只需要關心業務需求,不需要關心Bean的管理,
以及通過切面增強功能減少程式碼的侵入性。
從Spring本身的特性來看,我認為有幾個關鍵點是我們選擇Spring框架的原因。
- 輕量:Spring 是輕量的,基本的版本大約2MB。
- IOC/DI:Spring通過IOC容器實現了Bean的生命週期的管理,以及通過DI實現依賴注入,從而實現了物件依賴的鬆耦合管理。
- 面向切面的程式設計(AOP):Spring支援面向切面的程式設計,從而把應用業務邏輯和系統服務分開。
- MVC框架:Spring MVC提供了功能更加強大且更加靈活的Web框架支援
- 事務管理:Spring通過AOP實現了事務的統一管理,對應用開發中的事務處理提供了非常靈活的支援
最後,Spring從第一個版本釋出到現在,它的生態已經非常龐大了。在業務開發領域,Spring生態幾乎提供了
非常完善的支援,更重要的是社群的活躍度和技術的成熟度都非常高,以上就是我對這個問題的理解。
總結
任何一個技術框架,一定是為了解決某些特定的問題,只是大家忽視了這個點。
為什麼要用,再往高一點來說,其實就是技術選型,能回答這個問題,
意味著面對業務場景或者技術問題的解決方案上,會有自己的見解和思考。
所以,我自己也喜歡在面試的時候問這一類的問題。
本期的普通人VS高手面試系列就到這裡結束了。
有任何不懂的技術面試題,歡迎隨時私信我
版權宣告:本部落格所有文章除特別宣告外,均採用 CC BY-NC-SA 4.0 許可協議。轉載請註明來自Mic帶你學架構
!
如果本篇文章對您有幫助,還請幫忙點個關注和贊,您的堅持是我不斷創作的動力。歡迎關注同名微信公眾號獲取更多技術乾貨!