在这段时间之中,Java作为在世界上需求大的编程语言之一是毫无疑问的。在这里,我们收集了一下关于比较流行的框架,以方便广大软件开发者的日常所需。
  根据RebelLabs进行的一项调查显示,在线媒体盟友的Java用户组(Virtual JUG),2016年佳阵容的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框架可能不是一个好主意。