关于struts2,hibernate,spring,mybatis框架的分析
Struts2 :是一个相当强大的Java Web开源框架,是一个基于POJO的Action的MVC Web框架
优点:
1. 实现了MVC模式,层次结构清晰,使程序员只需关注业务逻辑的实现。
2. 丰富的标签库,大大提高了开发的效率。
3.提供丰富的拦截器实现。
4.通过配置文件,就可以掌握整个系统各个部分之间的关系。
5. 异常处理机制,只需在配置文件中配置异常的映射,即可对异常做相应的处理。
6. 可扩展性高。Struts2的核心jar包中由一个struts-default.xml文件,在该文件中设置了一些默认的bean,resultType类型,默认拦截器栈等,所有这些默认设置,用户都可以利用配置文件更改,可以更改为自己开发的bean,resulttype等。因此用户开发了插件的话只要很简单的配置就可以很容易的和Struts2框架融合,这实现了框架对插件的可插拔的特性。
面向切面编程的思想在Strut2中也有了很好的体现。最重要的体现就是拦截器的使用,拦截器就是一个一个的小功能单位,用户可以将这些拦截器合并成一个大的拦截器,这个合成的拦截器就像单独的拦截器一样,只要将它配置到一个、Action中就可以。
Hibernate:持久层框架orm (对象关系映射) 框架
优点:1.对jdbc进行了封装,可以使用面向对象的形式操作数据库
2.所有的SQL语句由框架生成,是一个完全自动化的框架
3.屏蔽了所有关系型数据库的底层差异性
Spring : 一个轻量级的DI和AOP容器框架,核心是控制反转(IoC)和面向切面(AOP)。
1.使用Spring的IOC容器,将对象之间的依赖关系交给Spring,降低组件之间的耦合性,让我们更专注于应用逻辑
2.可以提供众多服务,事务管理,WS等。
3.AOP的很好支持,方便面向切面编程。
4.对主流的框架提供了很好的集成支持,如hibernate,Struts2,JPA等
5.Spring DI机制降低了业务对象替换的复杂性。
6.Spring属于低侵入,代码污染极低。
7.Spring的高度可开放性,并不强制依赖于Spring,开发者可以自由选择Spring部分或全部
SpringMVC的优点:
- 与Spring框架天生整合,无框架兼容问题
- 与Struts2相比安全性高
- 配置量小、开发效率高
1、springmvc基于方法开发的,struts2基于类开发的。
springmvc将url和controller方法映射。映射成功后springmvc生成一个Handler对象,对象中只包括了一个method。方法执行结束,形参数据销毁。
struts2的action类中的所有方法用的都是action类中的成员变量,一旦方法变得很多的时候,我们就会不知道action类中那么多成员变量是给那个方法去使用的。十分混乱。
但是springmvc的所有参数都是定义为方法的形参,这样使用什么方法就将参数注入至对应方法的形参,所以springmvc的controller开发类似service开发。
2、springmvc可以进行单例开发,并且建议使用单例开发,struts2通过类的成员变量接收参数,无法使用单例,只能使用多例。
3、经过实际测试,struts2速度慢,在于使用struts标签,如果使用struts建议使用jstl。
最后我们无法实际定义springmvc与struts到底谁好谁坏,只能说struts早期由于用的比较多,它的漏洞就比较多。建议如果使用struts,就使用最新的包,因为以前的可能会有漏洞。但springmv目前几乎没有漏洞,这就是springmvc最近几年开始流行起来的原因,再有一个springmvc是基于方法开发的,更接近于service开发。
MyBatis的优点:
- 不需要重新学习hibernate框架,在掌握sql的基础上就可以上手;
- 不需要配置实体类与数据表之间的映射关系;
- Java主流几大框架的对比(EasyUI,Bootstrap,Struts2,SpingMvc,Ejb,Spring,Hibernate,Mybatis)
- 五大框架 Struts2 Spring hibernate mybatis springmvc
- 基于maven的多框架和多视图融合技术(Struts1、Struts2、Spring、SpringMVC、Hibernate、Ibatis、MyBatis、Spring Data JPA、DWR)
- 关于SSM(Spring+SpringMVC+Mybatis)三大框架集成验证码插件Kaptcha简单方法
- Java JSP Bootstrap Struts2 Spring Hibernate SpringMVC Mybatis Shiro Activiti工作流 Redis Dubbo Nutch 电商
- Struts2、Spring4与Hibernate5三大框架整合
- jeecms2012 框架分析 Spring mvc+hibernate+freemarker(开源项目)
- Java 常用框架(Spring,SpringMVC,Hibernate,mybatis)整合
- 深入浅出的理解框架(Struts2、Hibernate、Spring)与 MVC 设计模式
- 关于Hibernate与spring集成更新无效的分析
- 深入浅出的理解框架(Struts2、Hibernate、Spring)与 MVC 设计模式
- 学习三大框架Struts2 、 Hibernate 、 Spring时,涉及到三大框架的配置文件以及整合。
- 轻松搭建Struts2、Spring和Hibernate框架
- 深入浅出的理解框架(Struts2、Hibernate、Spring)与 MVC 设计模式
- maven搭建ssm框架(struts2、spring、mybatis )
- Spring 框架整合Struts2 框架和 Hibernate 框架
- JAVA_WEB项目之Struts2、Spring和Hibernate三大框架的整合
- 关于Spring3 Hibernate3 Struts2架构中各个包用处的学习。
- [springmvc+mybatis][关于这两个框架的学习,我想说]
- JEE5标准与Struts/Spring/Hibernate等诸多开源框架的比较分析