分享几款流行的Java框架
虽然Java一直被唱衰,但是直到现在Java软件开发也坚持霸主地位不动摇,毫无疑问,Java是目前最热门的编程语言之一,下面分享几个个人认为还不错的Java框架,以及各自的优缺点,希望能对大家有帮助。
1.SpringMVC
中国有句俗话叫“姜还是老的辣”,所以SpringMVC虽然发布已有十多年,但仍然老当益壮,以绝对的优势处于领先者的地位。在拥抱完整的MVC框架后,Spring不断发展变化,现在已经成为面向Internet应用程序的全面Java框架,为软件工程师提供了用于Web应用程序开发的强大的工具包和针对安全项目的应用程序配置。作为最受程序员宠爱的一枚,Spring发展良好的生态系统提供了很多附加选项:RESTAPI或SOAPWeb服务,安全性(身份验证和授权,加密)等。另外,很多大型公司都选择使用SpringMVC,所以如果你在使用过程中遇到问题,会有很多技术大牛能够给你解答。
优点和缺点
Spring以绝对优势登顶不是没有理由的,它之所以能够成为最知名的Java框架,主要是因为:
1.使用POJO简化测试数据的注入。
2.增强的模块化,使代码拥有更好的可读性。
3.不同模块之间解耦合。
4.灵活应用依赖注入(DI)。
虽然SpringMVC有很多文档可供参考,但其对于新手Java开发人员来说学习曲线还是太陡了,在碰到参考文档较少的部分,开发人员可能会出现无从下手的情况。另外,虽然SpringMVC网上的信息比较多,但是版本不同也会有差异。总体来说,SpringMVC是工程师最喜爱的框架之一。
2.Struts2
为了更详细地阐述现代软件工程师广泛使用的Java框架,这里我们为大家介绍ApacheStruts1的后续版本Struts2。Struts2用于构建当代JavaEEWeb应用程序。Apache软件基金会为开发人员提供了一个广泛的工具,用于创建企业级面向Web的应用程序,开发过程的优化贯彻始终,甚至连后期维护也囊括其中,到最终点优化开发过程以及后期维护。如果您在为高负载系统(如广播门户)发愁,那么Struts将会是你的不二选择。
由于Struts2实现了Action类(普通POJO对象),所以测试编写代码所需的工作量较少。使用框架API,耦合变得更容易,有助于调整拦截器。
优点和缺点
Struts2最大的特点是不必重写或实现Action类,同时IT工程师为多个操作创建重复设置代码也不再是一个问题,因为拦截器会处理它。
Struts最大的缺点就是不够灵活。
3.Hibernate
虽然Hibemate不在RebelLabs的排行榜中,但它仍是值得一提的Java框架。这个映射Java框架解决了对象和关系不匹配的问题,采用持续的数据库访问操作来代替高层次的对象处理功能。每个企业的应用程序都是不同的,所以Hibernate配备了一个强大啊的功能套件,帮助后端开发人员微调数据访问层。这是一个高级的ORM框架,允许您对Java对象(实体)执行数据库操作,利用Hibernate缓存将数据从Java环境持久化到数据库是一个持久化的概念,
优点和缺点
Hibernate只要对原有代码做一些微小的改动就可以帮助你和任何数据库进行通信,它弥补了对象和关系之间的差距。除了这个优势,它还有:
1.不管是Oracle,还是Db2亦或是MySQL,Hibernate是独立于DB存在的。
2.缓存机制对类似查询进行优化。
3.支持N+1或懒加载。
尽管Hibernate的优势很多,但是它不允许多个插入,不支持JDBC的一些查询,不适用于表比较少的小规模项目。
4.JSF
作为JavaEE的一部分,Oracle支持JavaServerFaces。虽然这不是Java快速开发的最好框架,但是因为Oracle提供了大量的文档所以很容易上手。如果你不离开JavaEE环境,JSF没有外部依赖项,但功能很强大,它拥有的丰富的库和工具(包括一个易于创建用户界面的工具集),无论你的应用程序看起来有多么复杂,它都可以支持。
优点和缺点
如上所述,JSF是JavaEE的一个组成部分。因此,开发人员可以利用IDE软件套件以及来自行业领先供应商的高水准的支持。
但是事情都有两面性,JavaServerFaces太庞大,所以没有Web开发经验或者技术不纯熟的人可能难以掌握。
5.Vaadin
Vaadin是在现代开发人员在创建业务应用程序并使用GWT渲染结束网页时必选的流行框架之一。Vaadin利用一个众所周知的基于组件的方法,快速适应浏览器发生的变化,从而减轻开发人员的负担。Vaadin通过传达对浏览器的更改来消除开发人员的负担。丰富的UI组件、各种各样的部件和控件时代程序员能够随时随地构建一个酷炫的应用程序。
优点和缺点
在Java或HTML的布局构建中,Vaadin提供了可用的MVC或MVP绑定数据的方法。支持拖放以及其他突出的功能简化了对Java应用程序的单页UI的创建。
因为Vaadin需要将每个事件回发到服务器,所以或导致移动应用程序的UI迟缓。
6.GoogleWebToolkit
GWT是一个允许用户创建和优化复杂的基于Web的应用程序的免费的Java框架。GWT的软件开发套件提供核心JavaAPI和小部件,构建之后就可以编译为JavaScript的应用程序。
优点和缺点
使用GoogleWebToolkit,您可以获得单个代码库(Java中的浏览器和服务器端编程),从而简化开发和调试过程。与其他技术的简单集成允许程序员在Web页面中嵌入GWT小部件。在GWT的帮助下还可以自定义窗口小部件功能。
但是GWT不适用于纯HTML和后期动态内容布局,因此无法满足网页设计师的需求。
7.Grails
这个特别的Web框架被认为是可以提高工程师生产力的动态工具。它拥有独树一帜的API实际,合理的默认值以及约定的配置范例。与Java的无缝集成使其成为全世界很多程序员的最佳选择。Grails拥有一系列强大的功能,例如基于Spring的依赖注入和各种插件,同时提供创建现代Web应用程序所需的一切。
优点和缺点
Grails可以快速搭建新项目,脚手架为编码人员节省了大量宝贵的时间。Grails拥有一个巨大的库,提供超过900种不同的易于安装的插件。Grails是一个全栈开发的Java框架,它的对象关系映射涵盖了庞大的功能,使其成为一个重量级的软件。
如何选择合适的Java框架
在这些眼花缭乱的流行Java框架中挑选出适合自己的框架不是一项简单的任务,因为每个公司在创建自己的Web应用程序和移动应用程序时都有自己坚持的理念。但是无论你选择哪个框架,它们都应具有以下特点是:易于安装、社区活跃、文档丰富等等。因为项目的依赖类型不同,所以企业在选择时最好选择同一公司或一脉相承的框架;另外,如果现实允许的话,最好选用轻量级的框架来代替重量级框架;最后,企业是一个团队,所以要及时企业的其他同事沟通框架的使用,保证每个员工都能充分利用该框架来创造价值。
分享几款流行的Java框架的更多相关文章
- 2016年7款最流行的Java框架
虽然Java一直被唱衰,但是直到现在Java也坚持霸主地位不动摇,毫无疑问,Java是目前最热门的编程语言之一,所以我们为大家搜集了一些目前比较受欢迎的Java框架的消息. 根据RebelLabs对在 ...
- 现在企业流行的java框架技术
我将简短分析被用于支持这些框架的企业开发环境或工具箱,例如Borland JBuilder,Eclipse以及BEA Workbench.请记住,市场上有许多有关这些开发框架的图书;然而,在任何一篇文 ...
- 几款流行的HTML5 UI 框架比较
手机HTML5开发,大部分都使用现有的框架,这里简单比较几个流行的UI 框架.作者(启明星工作室 http://www.dotnetcms.org) 比较一下几款流行的HTML5框架,个人意见,仅供参 ...
- 7 个最佳的 Java 框架
毫无疑问,Java是目前最需要的编程语言之一.在这里,我们已经挖掘了一些关于框架趋势的有用信息,以减轻全球软件开发人员的日常工作. 根据RebelLabs,也是在线Java用户组(虚拟JUG)的媒体盟 ...
- 为什么选择 Spring 作为 Java 框架
1. 概述 在本文中,我们将讨论 Spring 作为最流行的 Java 框架之一的主要价值体现. 最重要的是,我们将尝试理解 Spring 成为我们选择框架的原因.Spring 的详细信息及其组成部分 ...
- 16 款最流行的 JavaScript 框架
本文列举了16个当前最流行的JavaScript框架.在这个列表中,既包括jQuery和Mootools,也有Zepo移动JavaScript框架. 里面一定有你正在用的或想尝试用的JavaScrip ...
- 转 分享我在阿里工作十年接触过Java框架设计模式
转 原文: 分享我在阿里工作十年接触过Java框架设计模式 一.前言 说起来设计模式,大家应该都耳熟能详,设计模式代表了软件设计的最佳实践,是经过不断总结提炼出来的代码设计经验的分类总结,这些模式或者 ...
- 赶快收藏!16款最流行的 JavaScript 框架
下面为大家介绍 16款最流行的 JavaScript 框架,赶快收藏! 1. jQuery – Javascript框架 jQuery 是最流行的 JavaScript 框架,它简化了HTML 文档遍 ...
- 2016年7款最佳 Java 框架
毫无疑问,Java 是目前最为流行的编程语言之一,这里我们挖掘出了一些比较受欢迎的框架的有效信息,它们可以减轻全球软件开发人员的日常工作. RebelLabs的一项调查显示,通过在线Java用户论坛( ...
随机推荐
- bzoj 2468: [中山市选2010]三核苷酸
2468: [中山市选2010]三核苷酸 Description 三核苷酸是组成DNA序列的基本片段.具体来说,核苷酸一共有4种,分别用’A’,’G’,’C’,’T’来表示.而三核苷酸就是由3个核苷酸 ...
- Spring的Bean生命周期理解
首先,在经历过很多次的面试之后,一直不能很好的叙述关于springbean的生命周期这个概念.今日对于springBean的生命周期进行一个总结. 一.springBean的生命周期: 如下图所示: ...
- ConcurrentHashMap(Java8)源码分析
1. 常量.成员变量 private static final int MAXIMUM_CAPACITY = 1 << 30; // 和HashMap一样 private static f ...
- stream_get_meta_data(打开的文件句柄) 拿到任何网站服务器名字,从封装协议文件指针中取得报头/元数据
$url = "http://www.sina.com/"; function parse($url) { if(!($fp = @fopen($url, 'rb')) ){ ex ...
- 如何释放 DB_RECOVERY_FILE_DEST_SIZE
转自原文 如何釋放 DB_RECOVERY_FILE_DEST_SIZE,有删减 oracle默認安裝之後,如何沒有手動設置歸檔路徑(alter system set log_archive_dest ...
- iOS-Runtime、对象模型、消息转发
Objective-C只是在C语言层面上加了些关键字和语法.真正让Objective-C如此强大的是它的运行时.它很小但却很强大.它的核心是消息分发. Message 执行一个方法,有些语言.编译器会 ...
- Android内存优化7 内存检测工具1 Memory Monitor检测内存泄露
上篇说了一些性能优化的理论部分,主要是回顾一下,有了理论,小平同志又讲了,实践是检验真理的唯一标准,对于内存泄露的问题,现在通过Android Studio自带工具Memory Monitor 检测出 ...
- JS,jquery动态向已经存在的css文件中添加class样式
$("h1,h2,p").addClass("blue") $(".class")addClass("class_name&quo ...
- 剖析ASP.NET Core MVC(Part 1)- AddMvcCore(译)
原文:https://www.stevejgordon.co.uk/asp-net-core-mvc-anatomy-addmvccore发布于:2017年3月环境:ASP.NET Core 1.1 ...
- [转]双TOP二分法生成分页SQL类(支持MSSQL、ACCESS)
本文转自:http://www.cnblogs.com/jitian/archive/2011/03/22/1991961.html 博客开张,先发以前的几个老物件儿,以前写下来的,现在发上来权当记录 ...