A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© aA772807986 中级黑马   /  2016-11-14 17:54  /  3025 人查看  /  4 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 aA772807986 于 2016-11-14 17:59 编辑

JAVA开发框架总结

1. Spring MVC
一句话,经久耐用。自SpringMVC第一次发布的这十多年以来,它仍然占据着技术制高点。在SpringMVC不断完善MVC框架的过程中,Spring也通过不断变化发展成为了一个面向互联网的全面的Java框架,提供给软件工程师一个强大的工具包,用于开发web应用,同时提供安全的应用环境。Spring之所以能够集程序员们万千宠爱于一身,是因为其完善的体系,提供多样化的插件方式,例如:REST接口,SOAP web service,安全保障(授权、认证、加密)等等。选择SpringMVC的另外一点好处就是,现在很多大公司的开发者都选择这种典型的Java框架进行开发。所以,也许当你在遇到问题的时候,他们也会向你伸出援手的哟。

优缺点:
Spring位居排行榜首位并不是毫无原因。他之所以是最好的还有最出名的Java框架的原因
主要有:
  • 通过POJOs的使用来简化测试数据测注入
  • 增加模块性,增强代码的可读性
  • 不同模块之间的松耦合
  • 依赖注入的灵活使用

接下来介绍的是Srping的缺点,尽管这不是Spring框架的直接缺点,忽略成堆的参考文档,Spring MVC可能不是新手Java开发者可以啃得下来的,使学习曲线太陡。因此,在使用这个Java框架部分内容时,可能会遇到没有任何的参考文档。还有您在互联网上找到的信息可能是不同的版本。顺便说一下,由于我们的工程师的丰富经验,Spring MVC是我们最喜欢的框架之一。

2. Struts 2
为了更加详细阐述被现代的软件开发工程师所广泛使用的Java框架,我们决定把Apache Struts 1的继任者Struts 2说上一说。这个Java框架是在工程师构建当代Java EE web应用程序之中可以找到的。Apache软件基金会已经装备开发人员提供了一个广泛的工具用于创建企业级、面向web应用程序,优化开发过程从开始到最后和后上线(post-go-live)维护。如果你的应用运行在高负载系统,如广播门户,这个框架是你的不二之选。

由于Struts 2的Action类,我们在测试编写的代码花费更少的精力和时间——Action类是纯POJO实现的对象。在耦合与框架的API的时候更容易,有助于优化Struts2的过滤器。

优缺点:

当我们在考虑是否是否使用Struts 2,还是考虑是否重写或者实现Action类花费的时候。这都将不再是问题,这已经都存在这个框架之中。由于过滤器的优化,IT工程师需要为创建几个Action类在重复的写配置代码的时代已经一去不复返。

但是,你有可能不去考虑这个这个框架的原因是由于这个Java框架的重量——许多的开发者发现这个框架不能适应敏捷开发而放弃它。

3. Hibernate
虽然Hibernate不在RebelLabs的列表中,但Hibernate在讨论最好的Java框架的时候是值得一提的。 这种关系映射Java框架通过替换持久化DB访问高级对象处理函数来解决了对象 - 关系不匹配问题。 随着每个企业应用程序都相对独立,Hibernate配备了一个强大的功能套件,帮助后端开发人员调整数据访问层。 这是一个高级的ORM框架,允许您对Java对象(实体)执行数据库操作。 它是一个持久性工具,利用Hibernate缓存将数据从Java环境持久化到数据库。

优缺点:

Hibernate允许你使用你更少的代码与任何数据库通信,弥合对象和关系之间的差距。 最重要的是:

  • Oracle、Db2和MySQL,Hibernate都是数据库独立的
  • 类似查询的bug缓存数据库
  • 支持N+1和懒惰加载


尽管它的明显优势,Hibernate不允许多个插入操作,不允许JDBC的一些查询。 此外,对于具有较少表的小规模项目,此Java框架可能不是一个好主意。

4. JSF
作为Java EE的一部分,由Oracle支持的JavaServer Faces。 它虽然不是快速Java开发的最好的框架,它很容易使用,这都是因为Oracle提供了海量的文档。 此外,在您放弃Java EE开发之前可以考虑一下JSF,JSF没有外部依赖项,而是有大量功能。 丰富的库和工具(包括一个易于创建用户界面的工具集)成为一个亮点,它可以支持你开发无论看起来有多复杂的应用程序。

优缺点:

如上所述,JSF是Java EE的一个组成部分。 因此,开发人员可以利用IDE软件套件和获取来自行业领先供应商的支持。

但是,JavaServer Faces太庞大,对于那些以前在web开发基础上的经验和技能不够坚固的人是难以理解的。

5. Vaadin
使用GWT渲染整个网页,Vaadin成为现代开发人员在创建业务应用程序时选择的流行框架之一。 利用一个众所周知的基于组件的方法,Vaadin通过与浏览器交互来实现对程序的更改,以此来消除开发人员的负担。 一个广泛的UI组件,以及各种小部件和控件,Vaadin允许程序员随时构建应用程序。

优缺点:

Vaadin通过Java,HTML或两者构建页面布局,提供了使用MVC或MVP绑定数据的方法。 页面组件的拖放支持以及其他突出的功能简化了Java应用程序的单页UI的创建。

在缺点方面,移动应用程序的UI迟缓可能是一个问题,因为Vaadin需要发送回每个事件到服务器。

6. Google Web Toolkit
GWT是另一个免费的Java框架,允许编码器创建和优化复杂的基于Web的应用程序。 GWT软件开发包具有核心Java API和小部件,用于构建编译为JavaScript的应用程序。

优缺点:

使用Google Web Toolkit,您可以获得单个代码库(Java中的浏览器和服务器端的代码),从而简化开发和调试过程。 由于GWT与其他技术的简单集成,它允许程序员在Web页面中嵌入GWT小部件。 自定义窗口小部件功能是可以在使用GWT创建网页应用的另一个好处。

然而,如果你是一个网页设计师,GWT可能不是最好的Java框架选择。 GWT对纯HTML和后期动态内容布局的网页不友好。

7. Grails
这个特殊的Web框架被认为是一个动态的工具,因为它的API,合理的默认值,以及其约定的配置范例,极大地提高了工程师的生产力。 Java的无缝集成使得这个特定的框架成为全世界许多程序员的最佳选择。 它拥有一系列强大的功能,例如Spring提供的依赖注入和各种插件,提供创建现代基于Web的应用程序所需的一切。

优缺点:

快速设置一个新的项目和基本设置为编码节省了大量宝贵的时间。 一个巨大的库提供了超过900种不同的易于安装的插件。 尽管Grails是一个全栈开发的Java框架,它有一个庞大的功能,Grails的对象关系映射,使它成为一个相对比较重量级的框架。



4 个回复

倒序浏览
我只使用过Struts ,Hibernate,Spring{:8_526:}
回复 使用道具 举报
学习学习
回复 使用道具 举报
楼主总结得很经典啊
回复 使用道具 举报 1 0
看完之后感觉懵逼了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马