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

区别比较: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风格。

你可能感兴趣的:(面试题集)