spring的優點與缺點


最近面試遇到面試主考官,有兩次都問到了兩次關於spring的優點與缺點,所以覺得這個問題·值得好好思考總結一下。

spring這個有兩大概念:IOC和AOP
IOC反轉控制(也可以叫DI依賴注入,其實都是一個意思,角度不同而已),
就是之前對象依賴關系不用你來維護,由IOC容器來維護(對象間依賴關系不用解釋了吧,就是類與類之間的依賴關系,使用與被使用。舉個例子電器工作需要電,電器類與電類之間是依賴關系,之前這些要你自己去完成它們的依賴關系,有了IOC容器這工作就就交給IOC容器來完成。)
在白話一點解釋,兩個實例依賴關系,像兩個人,一個人要另一個人幫助,沒有spring的時候A要自己去聯系B“來幫幫忙”,有了spring后,實例就不需要自己去創建依賴的實例,被調用依賴的實例自己就過來幫忙了。

AOP也很好理解,面向切面編程,就是把一些公共的功能提取出來,到你用的時候你從容器中拿出對象直接用就可以了。像什么日志,解析XML文件什么的,用的時候調出來就可以,不是那種做到哪一步該要做什么就要自己去寫怎么實現。

優點:
有了IOC容器,對象間依賴關系交給spring,更專注業務邏輯代碼。
有了AOP對應OOP,很多功能更方便簡單使用
像一個膠水一樣,把一些好的框架粘合在一起方便實用(數據方面使用MyBatis,controller選擇struts2,直接用spring粘在一起使用。)

缺點:
對比新出的springboot,肯定沒人家好用(這是知乎的一個解釋,覺得有道理)
spring像一個膠水,將框架黏在一起,后面拆分的話就不容易拆分了(這是面試官的一個回答解釋,表示是一個思路。)
springJSP代碼過多,過於靈活缺乏一個公用的控制器,不適合分布式(這個是CSDN上幾個博客說的,不知道誰抄誰的,前半部分不說,后面的分布式你知道spring boot ,spring cloud嗎,這都是什么時候的事了。)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM