【面试准备】Spring、SpringMVC、Struts2、MyBatis、Hibernate的区别

本文深入探讨了SpringMVC、Struts2、MyBatis和Hibernate等框架的区别,包括它们的设计理念、性能表现和安全性等方面。特别分析了SSM(SpringMVC+Spring+MyBatis)和SSH(Struts2+Spring+Hibernate)两种流行架构的异同,为开发者选择合适的技术栈提供参考。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

区别比较:Spring、SpringMVC、Struts2、MyBatis、Hibernate

致自己的面试准备题,加入自己以及整合其他人分享的!

1. SpringMVC和Struts2的区别

1 Struts2是类级别的拦截,SpringMVC是方法级别的拦截。
2 SpringMVC的入口是servlet,而Struts2是filter
3 SpringMVC集成了Ajax,只需一个注解@ResponseBody就可以实现,而Struts2拦截器集成了Ajax,须安装插件或者自己写代码集成进去。
4 SpringMVC验证支持JSR303,处理起来相对更加灵活方便,Struts2验证比较繁琐。
5 SpringMVC和Spring是无缝的。安全性比Struts2高。
6 设计思想上,Struts2更加符合OOP的编程思想, SpringMVC就比较谨慎,在servlet上扩展。
7 SpringMVC开发效率和性能高于Struts2。

2. MyBatis和Hibernate的区别

1 MyBatis是一个半自动的ORM框架,Hibernate是一个全自动的ORM框架。
2 MyBatis需要手动编写SQL语句,而Hibernate则不需要。
3 MyBatis的可移植性差,Hibernate的可移植性好。

3. SSM和SSH的区别

SSH 通常指的是 Struts2 做控制器(controller),spring 管理各层的组件,hibernate 负责持久化层。
SSM 则指的是 SpringMVC 做控制器(controller),Spring 管理各层的组件,MyBatis 负责持久化层。
共同点:1.Spring依赖注入DI来管理各层的组件。2.使用面向切面编程AOP管理事物、日志、权限等。
不同点:1.Struts2 和 SpringMVC 控制器(controller)控制视图和模型的交互机制的不同,
Struts2是Action类级别,SpringMVC是方法级别,更容易实现RESTFUL风格。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值