Hibernate:持久层框架
orm (对象关系映射) 框架
优点:1.对jdbc进行了封装,可以使用面向对象的形式操作数据库
2.所有的SQL语句由框架生成,是一个完全自动化的框架
3.屏蔽了所有关系型数据库的底层差异性
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中就可以。
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相比安全性高
- 配置量小、开发效率高
MyBatis的优点:
- 不需要重新学习hibernate框架,在掌握sql的基础上就可以上手;
- 不需要配置实体类与数据表之间的映射关系;