GitHub上火的Java框架有哪些
Java 是目前需要的编程语言之一。在这里,我们已经挖掘了一些关于框架趋势的有用信息,也就是开发者青睐的 Java 框架,名单如下
1Spring MVC
自从 10 多年前的一次发布之后,SpringMVC 老当益壮,继续保持着领头羊的地位。在其完全拥抱 MVC 框架之后,Spring 不断的发展与变化着,转变成了一个功能全面的面向互联网应用程序的 Java 框架, 它能提供给软件工程师的是一个用于 Web 应用程序开发的强大工具集,以及针对安全项目的应用程序配置。具有如下特性:
● 简单的 POJO 测试数据注入方式。
● 增强过的模块化,因此拥有更好的代码可靠性。
● 不同模块之间解耦和。
● 能灵活运用的依赖注入(DI)。
2Spring Boot
Spring Boot 项目旨在简化创建产品级的 Spring 应用和服务。你可通过它来选择不同的 Spring 平台。可创建独立的 Java 应用和 Web 应用,同时提供了命令行工具来允许 'spring scripts'。Spring Boot 不生成代码,完全无需 XML 配置。
3JSF
JavaServer Faces (JSF) 是一种用于构建 Web 应用程序的新标准 Java 框架。它提供了一种以组件为中心来开发 Java Web 用户界面的方法,从而简化了开发。虽然这不是一个可以进行快速 Java 开发的框架,但它很容易使用,因为 Oracle 提供了大量文档。此外,除非你离开 Java EE 环境,JSF 不需要任何的外部依赖,并且功能非常强大。
4Play Framework
Play Framework 是基于一个轻量级的,无状态的,Web 友好的架构。Play 建立在 Akka,Play 提供可预测的和资源消耗(CPU,内存,线程)的高度可扩展的应用程序。
5Struts 2
Struts 是 Apache 软件基金会(ASF)赞助的一个开源项目。Struts 2 是 Struts 的下一代产品,是在 Struts 1和 WebWork 的技术基础上进行了合并的全新的 Struts 2 框架。
它本质上相当于一个 Servlet,在 MVC 设计模式中,Struts2 作为控制器(Controller)来建立模型与视图的数据交互。Struts 2 是 Struts 的下一代产品,是在 Struts 1 和 WebWork 的技术基础上进行了合并的全新的 Struts 2 框架。其全新的 Struts 2 的体系结构与 Struts 1 的体系结构差别巨大。Struts 2 以 WebWork 为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与 ServletAPI 完全脱离开,所以 Struts 2 可以理解为 WebWork 的更新产品。
6Hibernate
Hibernate 是一种 Java 语言下的对象关系映射解决方案。 它是使用 GNU 宽通用公共许可证发行的自由、开源的软件。它为面向对象的领域模型到传统的关系型数据库的映射,提供了一个使用方便的框架。Hibernate 也是目前 Java 开发中流行的数据库持久层框架,现已归 JBOSS 所有。
Hibernate是一个高级的 ORM 框架,你可以用它来在 Java 对象(实体)上进行数据库操作。利用 Hibernate 缓存来将 Java 环境中的数据持久化到数据库是一个持久化的概念。但 Hibernate 并不允许多次插入操作,也不支持一些 JDBC 能支持的查询操作。
7Vaadin
Vaadin 是一个 RIA 的基于浏览器的富客户端的 Web 框架。与 JavaScript 库或者是基于浏览器插件的解决方案不同,Vaadin 包含一个服务器端的结构,主要的应用逻辑都在服务器端运行,浏览器通过 Ajax 技术跟服务器端进行交互。Vaadin 提供多种各样的UI组建,例如按钮、表格、树形列表等等,每个组件都具有事件、侦听器、数据绑定和业务逻辑等功能。
通过在 Java 或 HTML 中的开发布局,Vaadin 提供了可以使用 MVC 或 MVP 进行数据绑定的方法。而且,拖放支持以及其他突出的特点简化了对 Java 应用程序单页UI的创建。
8GWT
Google 网页工具包——GWT 提供了一组基于 Java 语言的开发包,这个开发包的设计参考 Java AWT 包设计,类命名规则、接口设计、事件监听等都和 AWT 非常类似。熟悉 Java AWT 的开发者不需要花费多大的力气就能够快速的理解 GWT 开发工具包,将更多地时间投入到 GWT 应用的开发过程中。
开发出来的 Java 应用将由 GWT 开发包提供的编译工具编译后声生成对应的、应用了 Ajax 技术的 Web 应用,Java 应用中出现的、和服务器之间的交互动作被自动生成的异步调用代码所代替。
9Grails
Grails 是一套用于快速 Web 应用开发的开源框架,它基于 Groovy 编程语言,并构建于 Spring、Hibernate 和其它标准 Java 框架之上,从而为大家带来一套能实现超高生产力的一站式框架。
10Vert.x
Vert.x 是一个用于下一代异步、可伸缩、并发应用的框架,旨在为 JVM 提供一个 Node.js 的替代方案。开发者可以通过它使用 JavaScript、Ruby、Groovy、Java、甚至是混合语言来编写应用。
11Ehcache
EhCache 是一个纯 Java 的进程内缓存框架,具有快速、精干等特点,是Hibernate 中默认的 CacheProvider。下图是 Ehcache 在应用程序中的位置:
主要的特性有:
● 简单高效
● 多种缓存策略
● 缓存数据有两级:内存和磁盘,因此无需担心容量问题
● 缓存数据会在虚拟机重启的过程中写入磁盘
● 可以通过 RMI、可插入 API 等方式进行分布式缓存
● 具有缓存和缓存管理器的侦听接口
● 支持多缓存管理器实例,以及一个实例的多个缓存区域
● 提供 Hibernate 的缓存实现