JAVA三大框架Struts、hibernate和spring的各自作用是什么?struts主要负责表示层的显示,spring利用它的IOC和AOP来处理控制业务(负责对数据库的操作),hibernate主要作用是数据的持久化到数据库。
一、Spring是一个解决了许多在J2EE开发中常见的问题的强大框架。Spring提供了管理业务对象的一致方法并且鼓励了注入对接口编程而不是对类编程的良好习惯。光谷校区专业老师指出,Spring的架构基础是基于使用JavaBean属性的InversionofControl容器。然而,这仅仅是完整图景中的一部分:Spring在使用IoC容器作为构建完 Spring提供了唯一的数据访问抽象,包括简单和有效率的JDBC框架,极大的改进了效率并且减少了可能的错误。Spring的数据访问架构还集成了Hibernate和其他O/Rmapping解决方案。Spring还提供了唯一的事务管理抽象,它能够在各种底层事务管理技术,例如JTA或者JDBC事务提供一个一致的编程模型。Spring提供了一个用标准Java语言编写的AOP框架,它给POJOs提供了声明式的事务管理和其他企业事务--如果你需要--还能实现你自己的aspects。这个框架足够强大,使得应用程序能够抛开EJB的复杂性,同时享受着和传统EJB相关的关键服务。Spring还提供了可以和IoC容器集成的强大而灵活的MVCWeb框架。
二、说到Struts框架,它是一个基于SunJ2EE平台的MVC框架,主要是采用Servlet和JSP技术来实现的。由于Struts能充分满足应用开发的需求,简单易用,敏捷迅速,在过去的一年中颇受 三、Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序实用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。
其他框架
SSH2框架:
具体来说应该是:struts2.0+spring3.2+hirbnate2.5典型的J2EE三层结构,分为表现层、中间层(业务逻辑层)和数据服务层。三层体系将业务规则、数据访问及合法性校验等工作放在中间层处理。客户端不直接与数据库交互,而是通过组件与中间层建立连接,再由中间层与数据库交互。表现层是传统的JSP技术,自年问世以来,经过多年的发展,其广泛的应用和稳定的表现,为其作为表现层技术打下了坚实的基础。中间层采用的是流行的Spring+Hibernate,为了将控制层与业务逻辑层分离,又细分为以下几种。Web层,就是MVC模式里面的“C”(controller),负责控制业务逻辑层与表现层的交互,调用业务逻辑层,并将业务数据返回给表现层作组织表现,该系统的MVC框架采用Struts。Service层(就是业务逻辑层),负责实现业务逻辑。业务逻辑层以DAO层为基础,通过对DAO组件的正面模式包装,完成系统所要求的业务逻辑。DAO层,负责与持久化对象交互。该层封装了数据的增、删、查、改的操作。PO,持久化对象。通过实体关系映射工具将关系型数据库的数据映射成对象,很方便地实现以面向对象方式操作数据库,该系统采用Hibernate作为ORM框架。Spring的作用贯穿了整个中间层,将Web层、Service层、DAO层及PO无缝整合,其数据服务层用来存放数据。一个良好的框架可以让开发人员减轻重新建立解决复杂问题方案的负担和精力;它可以被扩展以进行内部的定制化;并且有强大的用户社区来支持它。框架通常能很好的解决一个问题。然而,你的应用是分层的,可能每一个层都需要各自的框架。仅仅解决UI问题并不意味着你能够很好的将业务逻辑和持久性逻辑和UI组件很好的耦合。不可否认,对于简单的应用,采用ASP或者PHP的开发效率比采用J2EE框架的开发效率要高。甚至有人会觉得:这种分层的结构,比一般采用JSP+Servlet的系统开发效率还要低。
Grails
Grails非常棒!每次我们需要实现中小型CRUD(增加、查询、更新、删除)类型的程序,都会考虑使用Grails。Grails配置起来非常快速,并且它提供的框架(代码生成)节省了大量的时间。约定优于配置原则(Conventionoverconfiguration)可以帮助您抛除几乎所有配置带来的麻烦。
Grails默认支持重新加载,但仍然有一定的局限性(比如它只能重新加载Groovy类)。如果项目中只有一部分使用的是Java,你可能仍然会想到去使用JRebel的。
Vaadin
Vaadin目录是一个组件仓库,它包含了所有用户已经实现、可供他人使用的组件。如果你需要选择待使用的组件,只需要去下载JAR包并添加到你的项目中,然后在你的代码里直接使用JAR包里提供的优秀模板即可。在写这篇文章之时,Vaadin有个组件提供您使用,每天一个!你再也找不到比这更快速的原型开发工具了!
另外,Vaadin的设计提供一种拖放机制,可以方便地添加需要的组件并为用户生成代码,除此之外还可以为你提供想要的精确布局,甚至连键盘都不需要使用了!
虽然有很多可使用的未封装装饰器,但在真实情况下你可能会在GWT框架下使用JavaScript和浏览器DOM完成开发。如果你喜欢设计,也可以使用GWT内置的设计模式,这是一个简单的拖放和代码自动生成界面。
虽然这不是GWT,但我们的目标是让开发人员能够高效地开发Web应用程序而不再专攻JavaScript、XML、HttpRequest以及各种浏览器的古怪行为。
Wicket
凭借其清晰的MVC模式、清楚的HTML样式以及富有魔力的组件,你可以使用Wicket简单、快速地重用组件创建新的应用程序。Wicket采用了组件继承方式进行扩展,这种方式学习曲线略显陡峭不是最佳选择。
每个组件中的标记文件进行了清晰地分工,控制器决定要显示的内容,视图决定如何显示。这不仅缩短了开发时间,也给你的网页设计师在修改HTML代码时增加了信心。无需担心程序崩溃和程序丢失,很棒吧!
Play
Play框架非常简单、易于上手,这个框架的起源可以归结为,Java开发人员很羡慕RubyonRail开发者有一个超级快速的原型开发框架。Play框架有一两个类似于ROR框架下的Rails组件的二进制组件它用于支架(代码生成)。这使得Play成为了一个不那么常规的JavaWeb框架。Play框架的入门文档是一个很棒的基础教程,为开发者提供了一个非常低的门槛。使得他们可以成为比较高效的开发者。