Mybatis的優缺點
優點
1、與JDBC相比,減少了50%以上的代碼量
2、最簡單的持久化框架、小巧簡單易學
3、SQL代碼從程序代碼中徹底分離出來,可重用
4、提供XML標簽,支持編寫動態SQL
5、提供映射標簽,支持對象與數據庫的ORM字段關系映射
缺點
1、SQL語句編寫工作量大,熟練度要高
2、數據庫移植性差,比如mysql移植到Orecle,SQL語句會有差異從而引起err
MyBatis專注於SQL本身,是實體類與SQL語句之間建立的映射關系(不是實體類與表),是一個足夠靈活的dao層優化方案,適用於性能要求高,需求多變的項目。
Spring 的優缺點
優點
1.方便解耦,簡化開發 (高內聚低耦合)
Spring就是一個大工廠(容器),用於創建對象(bean)和維護對象間的依賴關系.
2.AOP編程的支持
Spring提供面向切面編程,可以方便的實現對程序進行權限攔截、運行監控等功能.
聲明式事務的支持,只需要通過配置就可以完成對事務的管理,而無需手動編程
3.方便程序的測試,
Spring對Junit4支持,可以通過注解方便的測試Spring程序
4.方便集成各種優秀框架
Spring支持各種優秀框架(如:MyBatis、Redis、MongoDB、ElementsSearch、Quartz等)
5.降低JavaEE API的使用難度
Spring 對JavaEE開發中非常難用的一些API(JDBC、JavaMail等),都提供了封裝,使這些API應用難度大大降低.
缺點
- 中斷了應用程序的邏輯,使代碼變得不完整,不直觀.此時單從Source無法完全把握應用的所有行為.
- 將原本應該代碼化的邏輯配置化,增加了出錯的機會以及額外的負擔.
- 時光倒退,失去了IDE的支持.在目前IDE功能日益強大的時代,以往代碼重構等讓人頭痛的舉動越來越容易.而且IDE還提供了諸多強大的輔助功能,使得編程的門檻降低很多.通常來說,維護代碼要比維護配置文件,或者配置文件+代碼的混合體要容易的多.
- 調試階段不直觀,后期的bug對應階段,不容易判斷問題所在
SpringMVC的優缺點
優點
(1)封裝代碼,維護成本低,耦合性低;
(2)有利於開發中的分工,提高開發效率;
(3)組件重用,有利於代碼復用,重用性高
缺點
(1)沒有明確的定義,不適合小型,中等規模的應用程序
(2)增加系統結構和實現的復雜性
(3)視圖與控制器間的過於緊密的連接,視圖對模型數據的低效率訪問
SpringBoot的優缺點
優點
- 開箱即用
- 嵌入的Tomcat,無需部署WAR文件
- 簡化Maven配置
- 自動配置Spring
- 提供生產就緒型功能,如指標,健康檢查和外部配置
- 絕對沒有代碼生成並且對XML也沒有配置要求
缺點
開箱即用的簡單背后隱藏了巨大的學習曲線,入門簡單,但是如果沒有完整學習spring體系,遇到問題容易懵逼,沒有一定校驗,根本不知道springboot自動做了什么