springmvc和struts2的区别
本文内容纲要:
-springmvc和struts2的区别
-mybatis和hibernate的区别
springmvc和struts2的区别
1、springmvc基于方法开发的,struts2基于类开发的。
2、单例和多例的区别:springmvc在映射的时候,通过形参来接收参数的,是将url和controller方法映射,映射成功后,springmvc生成一个handlers对象,对象中只包括一个method,方法执行结束的时候,形参的数据就销毁,
所以springmvc可以进行单例开发,并且建议使用。
但是structs接收的参数是通过类的成员变量来接收的,这些变量在多线程访问中,是共享的,而不是像springmvc那样,方法结束之后,形参自动销毁,且无法使用单例,只能使用多例。
这样的话,在structs中,随着方法的添加,很多的成员变量,维护到最后的时候根本就不知道这个成员变量被哪个方式所使用,所以springmvc开发类似于service开发。
3、经过实际测试,structs速度慢,在与使用structs标签,如果使用structs建议使用jstl。
mybatis和hibernate的区别
1、hibernate入门门槛高,是一个标准的ORM矿建(对象关系映射),不需要程序写sql,sql语句自动生成,对sql语句进行优化、修改比较困难。
mybatis专注于sql本身,需要程序员自己编写sql语句,sql修改、优化比较方便。是一个不完全的ORM框架,虽然程序员自己写sql,mybatis也可以实现映射(输入映射,输出映射)
应用场景方面:
2、hibernate适用于需求变化不多的中小型项目,比如:后台管理系统,orm、oa......
mybatis适用于需求变化较多的项目,比如:互联网项目。
本文内容总结:springmvc和struts2的区别,mybatis和hibernate的区别,
原文链接:https://www.cnblogs.com/airsen/p/6108519.html