Struts2,Spring,Hibernate框架的优缺点
Struts2框架(MVC框架)的优点如下:
1) 实现了MVC模式,层次结构清晰,使程序员只需关注业务逻辑的实现;
2) 丰富的标签库,大大提高了开发的效率;
3) Struts2提供丰富的拦截器实现
3) 通过配置文件,就可以掌握整个系统各个部分之间的关系;
4) 异常处理机制,只需在配置文件中配置异常的映射,即可对异常做相应的处理;
Spring框架的优点如下:
1) 无入侵性(在业务逻辑代码中感觉不到Spring框架的存在);
2) 各个组件之间的耦合极为松散;
3) 无需程序员自己实现singleton模式;
4) 通过AOP,可以实现事务管理和日志管理;
5) 整合其他的框架,如:struts框架和hibernate框架;
Hibernate框架(ORM框架)的优点如下:
1) 对象/关系数据库映射(ORM), 使用时只需操纵对象,使开发更加面向对象化;
2) 无入侵性;
3) 简洁的HQL语句,减少了JDBC与SQL操作数据库的代码量;
4) 移植性好;
缺点如下:
对批量更新,删除的支持不好;
有关 MVC的优点:
大部分用过程语言比如ASP、PHP开发出来的Web应用,初始的开发模板就是混合层的数据编程。例如,直接向数据库发送请求并用HTML显示,开发速度往往比较快,但由于数据页面的分离不是很直接,因而很难体现出业务模型的样子或者模型的重用性。产品设计弹性力度很小,很难满足用户的变化性需求。MVC要求对应用分层,虽然要花费额外的工作,但产品的结构清晰,产品的应用通过模型可以得到更好地体现。
首先,最重要的是应该有多个视图对应一个模型的能力。在目前用户需求的快速变化下,可能有多种方式访问应用的要求。例如,订单模型可能有本系统的订单,也有网上订单,或者其他系统的订单,但对于订单的处理都是一样,也就是说订单的处理是一致的。按MVC设计模式,一个订单模型以及多个视图即可解决问题。这样减少了代码的复制,即减少了代码的维护量,一旦模型发生改变,也易于维护。 其次,由于模型返回的数据不带任何显示格式,因而这些模型也可直接应用于接口的使用。
再次,由于一个应用被分离为三层,因此有时改变其中的一层就能满足应用的改变。一个应用的业务流程或者业务规则的改变只需改动MVC的模型层。
控制层的概念也很有效,由于它把不同的模型和不同的视图组合在一起完成不同的请求,因此,控制层可以说是包含了用户请求权限的概念。
最后,它还有利于软件工程化管理。由于不同的层各司其职,每一层不同的应用具有某些相同的特征,有利于通过工程化、工具化产生管理程序代码。