虽然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框架,这里千锋武汉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语言2019年受欢迎的7大框架。你想不想也学习一下这个受欢迎的开发语言呢?那就赶快抓紧时间入行吧!

现在的企业用到的Java开发主流框架有哪些的更多相关文章

  1. Java三大主流框架概述

    Struts.Hibernate和Spring是我们Java开发中的常用关键,他们分别针对不同的应用场景给出最合适的解决方案.但你是否知道,这些知名框架最初是怎样产生的? 我们知道,传统的Java W ...

  2. Java 三大主流框架概述

    Struts.Hibernate和Spring是我们Java开发中的常用关键,他们分别针对不同的应用场景给出最合适的解决方案.但你是否知道,这些知名框架最初是怎样产生的? 我们知道,传统的Java W ...

  3. Java三大主流框架概述(转载)

    转自:http://www.douban.com/note/320140839/ Struts.Hibernate和Spring是我们Java开发中的常用关键,他们分别针对不同的应用场景给出最合适的解 ...

  4. Python Web开发主流框架

    Web 开发是Python 语言应用领域的重要部分,也是工作岗位最多的领域.如果你对基于Python的Web 开发有兴趣,正打算使用Python 做Web 开发,或者已经是一个Web 开发者有工作需要 ...

  5. Java 开发主流 IDE 环境体验

    前言 本来应该继续从 Oracle 官网搬砖的,但是随着示例代码越来越复杂,涉及的类库越来越多,使用 Vim 写 Java 代码就很力不从心了,是时候上 IDE 了.我最熟悉的 IDE 环境是 Ecl ...

  6. java开发SSM框架的搭建(SpringMVC+Spring+MyBatis)

    因为某些原因,重装系统,java-web开发尽管顺手,但烦人的一点是开发环境的搭建.几乎相同折腾了一整天,笔者在这里把SSM开发环境的搭建又一次清理一遍,以飨读者.也供自己以后參考.善于总结,是做好每 ...

  7. 阿里巴巴 Java 开发手册 1.4.0

    一.编程规约(一) 命名风格1. [强制]代码中的命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束.反例: _name / __name / $name / name_ / name$ ...

  8. 现在企业开发时,Java所用到的主流框架有哪些?

    虽然Java一直被唱衰,但是直到现在Java软件开发也坚持霸主地位不动摇.毫无疑问,Java是目前最热门的编程语言之一.随着Java面向对象语言的流行以及多层架构应用的出现,使得应用程序的可复用性得到 ...

  9. Java企业实训 - 01 - Java前奏

    前言: 虽然个人专攻.NET方向,不过由于个人是干教育行业的,方方面面的东西,不能说都必须精通,但肯定多少都会涉及到. 一个菜鸟学员,从啥都不会,经过一步步学习,最后到企业上手掌管一个模块甚至一个项目 ...

随机推荐

  1. table-cell 布局

    table-cell能实现段落文字相对于div的垂直居中: 将div设置为display:table-cell; *display:inline-block;text-align:center; ve ...

  2. Android开发 ---如何操作资源目录中的资源文件5 ---Raw资源管理与国际化

    效果图: 1.activity_main.xml 描述: 定义两个按钮,一个是Raw资源管理,一个是处理国际化语言,其中i18n表示简体中文 <?xml version="1.0&qu ...

  3. Navicat for mysql的下载及破解

    MySQL数据库是DOS界面的,使用起来要打命令,Navicat for MySQL基于Windows平台,为MySQL量身订作,提供类似于MsSQL的用户管理界面工具. 1.下载地址http://y ...

  4. The issue about the GMT paper can't display all the seismograms

    I try to display seismograms using 'pssac' by the command: gmt pssac *.z -JX20c/40c -R0/// -Bx20+l'T ...

  5. alpha通道与混合技术

    Alpha其作用是要实现一种半透明效果. 假设一种不透明的东西颜色是A,另一种透明的东西颜色是B,那么透过B去看A,看上去的颜色C就是B与A的混合颜色.设置B的透明度为alpha(取值为0-1,0为完 ...

  6. fread 不能读取最后一个数据块

    今天遇到一个问题,fread()竟然不能读取文件中的最后一个数据块. 我定义了一个结构体: Persong { char name[10]; char phone[15]; } 以及两个函数: int ...

  7. MFC 添加背景图片并让控件背景透明

    /*添加背景图片*/ BOOL CTOOLDlg::OnEraseBkgnd(CDC* pDC) { // TODO: 在此添加消息处理程序代码和/或调用默认值 CDialog::OnEraseBkg ...

  8. python自学第5天,集合,文件读写

    #!/usr/bin/env python #-*- coding:utf-8 -*- # Author:Hunter Yi s={1,1,1,2,3,4,5} print(s) #集合,去重 #关系 ...

  9. java学习笔记12(final ,static修饰符)

    final: 意思是最终的,是一个修饰符,有时候一个功能类被开发好了,不想被子类重写就用final定义, 用final修饰的最终数据成员:如果一个类的数据成员用final修饰符修饰,则这个数据成员就被 ...

  10. Windows10下pip的配置文件设置

    pip.ini的内容: [global] index-url = http://mirrors.aliyun.com/pypi/simple trusted-host = mirrors.aliyun ...