首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

Java 框架面試核心題精講(下):MVC、Spring IOC/AOP、Hibernate vs MyBatis、Spring MVC vs Struts2

     編輯:Java 相關知識

MVC 設計模式

  • 分層:Model(數據/業務)、View(展示)、Controller(調度)
  • 優勢:解耦、復用、並行開發
  • Spring MVC / Struts2 嚴格遵循 MVC

Spring 核心:IOC 與 AOP

特性原理作用
IOC (控制反轉)容器管理 Bean 生命週期,底層反射實例化解耦依賴,配置化裝配
AOP (面向切面)動態代理(JDK/CGLIB)攔截連接點事務、日誌、安全、監控等橫切關注點複用

Hibernate vs MyBatis 深度對比

維度HibernateMyBatis
SQL 控制自動生成 HQL/SQL,不可控手寫 SQL,完全可控,易優化
跨數據庫移植方言適配自動生成,移植性強需針對不同庫寫方言 SQL,移植性弱
查詢效率全字段查詢/更新,有性能損耗按需選列,性能優
學習曲線較陡(HQL、映射、緩存機制)平緩(SQL 即映射)
適用場景標準 CRUD、快速開發、團隊 SQL 水平一般複雜查詢、高性能要求、DBA 主導優化

Spring MVC vs Struts2 關鍵差異

項目Spring MVCStruts2
入口DispatcherServlet(Servlet)Filter(StrutsPrepareAndExecuteFilter)
開發模式方法級(一個 URL 對應一個方法)類級(一個 Action 類處理多方法)
參數綁定方法參數直接綁定,支持單例屬性驅動,必須多例(線程安全)
數據傳遞ModelAndView + Request 域ValueStack (OGNL) 存取
視圖解析默認 JSTL,靈活擴展JSP/Velocity/FreeMarker

面試加分點

  • 能說出 Spring MVC 九大組件(HandlerMapping、HandlerAdapter、ViewResolver 等)職責
  • 理解 MyBatis 一級/二級緩存區別及髒讀風險
  • 掌握 Spring 事務傳播行為(REQUIRED、REQUIRES_NEW 等)與隔離級別
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved