尽管Spring Boot已成为主流,但SSM(Spring + SpringMVC + MyBatis)组合仍是Java企业级开发的黄金标准,尤其在传统行业、金融系统、政府项目中广泛使用。其优势在于:
① 模块解耦:三层架构清晰分离业务逻辑、控制层与数据访问层;
② 高度可配置:XML或注解双模式支持,灵活适配不同规模项目;
③ 生态成熟稳定:十年以上生产验证,文档完善、社区活跃、问题易定位。
Spring:企业级应用核心容器
提供IoC容器管理对象生命周期,AOP支持日志、事务、权限等横切关注点。高级面试常考:Bean作用域、循环依赖解决方案、事务传播机制。
SpringMVC:请求驱动的Web框架
基于前端控制器模式(DispatcherServlet),支持RESTful、参数绑定、拦截器链。高频考点:请求处理流程、HandlerMapping机制、视图解析策略。
MyBatis:半自动SQL映射框架
SQL与代码分离,支持动态SQL、缓存、插件机制。面试重点:一级/二级缓存原理、Mapper动态代理、插件拦截链。
〔深度解析〕SSM vs Spring Boot:技术演进中的定位差异
许多求职者混淆SSM与Spring Boot的关系。需明确:Spring Boot是Spring生态的“加速器”,它简化配置、自动装配,但底层仍依赖Spring核心。SSM是手动整合三者的传统方案,而Spring Boot项目可通过mybatis-spring-boot-starter无缝集成MyBatis。
例如:一个SSM项目中,Spring配置需手动编写applicationContext.xml与spring-mvc.xml;而在Spring Boot中,仅需添加依赖并配置application.yml即可自动注入MyBatis的SqlSessionFactory。
因此,SSM框架高级面试题考察的不仅是框架使用,更是对Java Web技术栈演进逻辑的理解深度——面试官常通过“SSM如何过渡到Spring Boot”验证候选人技术前瞻性。