说说个人对Struts,Spring,Hibernate分别是什么的理解

来源:互联网 发布:fp系列编程手册 编辑:程序博客网 时间:2024/04/29 18:25
这是三个相互配合的框架组合,也是目前较为成熟的Java Web开发框架组合。

Struts(现在主要用Struts 2了)主要负责Web层的交互,也就是页面和代码间传参、类型转换、输入校验、国际化、文件上传下载这些直接与用户进行网页交互的功能,其核心机制是拦截器,将这些web开发的通用功能给封装了,便于直接利用。

Hibernate主要负责数据层的处理,也就是代码与关系数据库(RDBMS)的交互,是一种对象关系映射(ORM)框架,主要作用是将数据库中的表及其关系映射为Java的类对象及其关系,便于以面向对象(OO)方式进行操作,避免了JDBC直接采用SQL方式编程的繁琐和非面向对象方式。(当然还是能调用SQL)。其他的功能包括缓存等功能主要是提高代码运行性能。

Spring框架主要是用它的两个功能,1)IoC(反转控制)功能,将代码中的JavaBean统一管理,实现自动注入,减少代码耦合。(用好这方面的功能,需要你很好理解设计模式方面的东西)。 2)面向切面(AOP)功能,能将一部分通用代码切入到程序中,例如日志记录,事务管理里用的特别多。Spring其实可以理解为一个”胶水“,利用IoC和AOP,可以与Struts 2和Hibernate进行整合,比如管理Struts2 Action,负责业务层代码注入,实现数据库的注解式事务管理等等。

在这三个框架其实每个方面都有替代的方案,比如Struts 2可以改用SpringMVC,Hibernate改用MyBatis,Spring IoC也有Google Guice可替。只不过这三个目前比较成熟,能查到的资料也比较多,所以大多项目喜欢用这个组合。

以上是我个人的理解。
阅读全文
0 0
原创粉丝点击