For a lightweight framework for building Java web applications, the strongest matches are dropwizard/dropwizard (Dropwizard is a production-ready Java framework that bundles an), spring-projects/spring-framework (Spring Framework is the industry-standard Java framework that provides) and quarkusio/quarkus (Quarkus is a production-ready, cloud-native Java framework that provides). spring-projects/spring-boot and micronaut-projects/micronaut-core round out the shortlist. Each is ranked by relevance to your query, popularity and recent activity.
We curate open-source GitHub repositories matching “best java web frameworks”. Results are ranked by relevance to your query — pick filters below to narrow, or refine with AI.
Dropwizard is a Java web application stack and REST framework used to build production-ready web services. It integrates an embedded HTTP server with operational tools to provide a complete environment for developing network interfaces that exchange JSON data. The project provides a set of core technology stacks for relational data mapping, schema migration, and operational performance monitoring. It includes a relational database migration tool to track schema updates and execute versioned scripts before an application starts. The framework covers a broad capability surface including reques
Dropwizard is a production-ready Java framework that bundles an embedded server, REST support, and ORM integration into a cohesive stack specifically designed for building robust microservices.
Spring Framework is an enterprise Java framework providing a comprehensive infrastructure for building server-side applications. It functions as a dependency injection container and a Java application framework designed to support scalable backend development through modular architecture. The project provides tools for aspect-oriented programming to intercept method calls using dynamic proxies, allowing the application of cross-cutting concerns such as security and transactions. It also includes a centralized system for managing object lifecycles and coordinating component wiring by injecting
Spring Framework is the industry-standard Java framework that provides the comprehensive dependency injection, modular architecture, and infrastructure required to build robust, production-ready web applications and microservices.
Quarkus is a Kubernetes-native Java framework designed for building high-performance, memory-efficient applications. It utilizes ahead-of-time native compilation to transform Java code into standalone, optimized binaries that eliminate the need for a virtual machine, enabling rapid startup and reduced memory consumption. By performing code augmentation during the build phase, it shifts heavy processing tasks away from runtime, ensuring that applications are optimized for cloud-native environments. The framework distinguishes itself through a unified approach to reactive and imperative program
Quarkus is a production-ready, cloud-native Java framework that provides comprehensive support for RESTful APIs, dependency injection, microservices, and reactive programming, making it a flagship choice for modern Java development.
Spring Boot is an opinionated application framework designed to streamline the creation of production-ready services. It functions as a comprehensive development platform that utilizes a centralized dependency injection container to manage object lifecycles and wiring. By employing convention-over-configuration, the framework automates the instantiation of components based on the presence of specific libraries and configuration properties, significantly reducing the need for manual setup. The framework distinguishes itself by bundling the application and its web server into a single, self-con
Spring Boot is the industry-standard Java framework for building production-ready microservices and web applications, providing native support for all requested features including embedded servers, dependency injection, and reactive programming.
Micronaut Application Framework
Micronaut is a modern, production-ready Java framework specifically engineered for microservices and cloud-native applications, offering built-in support for dependency injection, reactive programming, and embedded servers.
Vert.x is a reactive polyglot framework and asynchronous programming library for the Java Virtual Machine. It functions as an event-driven networking framework and toolkit for building non-blocking applications. The system enables the development of high-concurrency network services and event-driven microservices. It supports the creation of reactive services using multiple languages running on the JVM. The framework covers a wide range of capabilities including the management of HTTP and TCP network protocols, non-blocking file system access, and the integration of reactive clients.
Vert.x is a high-performance, reactive framework designed for building event-driven microservices and non-blocking web applications on the JVM, making it a strong choice for modern Java-based service architectures.
Play is a full-stack reactive web framework for Java and Scala. It provides a comprehensive development platform for building scalable web applications and RESTful APIs using a stateless and non-blocking architecture designed for high concurrency. The framework emphasizes high-velocity development through dynamic code reloading, which allows developers to update applications and verify changes without performing a full restart. Its capability surface covers the construction of JSON-based web endpoints, server-side logic for the JVM, and the implementation of scalable web architectures.
Play is a full-stack, reactive web framework for the JVM that provides robust support for RESTful APIs, non-blocking I/O, and microservices-ready architectures, making it a strong choice for Java-based web development.
JAVA WEB ORM Framework
JFinal is a lightweight Java web framework that provides built-in ORM and MVC capabilities, making it a suitable choice for building web applications despite its minimalist approach compared to larger enterprise frameworks.
Ninja is a full stack web framework for Java. Rock solid, fast and super productive.
Ninja is a full-stack Java web framework that provides built-in support for RESTful APIs, dependency injection, and embedded servers, making it a capable tool for building web applications despite lacking native reactive programming features.
The modular web framework for Java and Kotlin
Jooby is a modular, lightweight Java web framework that provides built-in support for RESTful APIs, dependency injection, and embedded servers, making it a suitable choice for building microservices.
This framework is a server-side development platform for building interactive, data-driven web applications using Java. It provides a comprehensive component model that allows developers to construct complex user interfaces entirely through backend code, abstracting away the need to manually manage HTML, CSS, or client-side scripting. The platform distinguishes itself by maintaining the application state and user interface hierarchy on the server, synchronizing changes to the browser through a persistent communication channel. This architecture enables developers to bind backend domain object
Vaadin is a Java web framework that enables building complex, stateful web applications using server-side Java components, though it focuses on a component-based UI model rather than the traditional REST-first microservices approach.
| Repository | Stars | Language | License | Last push |
|---|---|---|---|---|
| dropwizard/dropwizard | 8.6K | Java | Apache-2.0 | |
| spring-projects/spring-framework | 60.1K | Java | Apache-2.0 | |
| quarkusio/quarkus | 15.5K | Java | apache-2.0 | |
| spring-projects/spring-boot | 80.9K | Java | Apache-2.0 | |
| micronaut-projects/micronaut-core | 6.4K | Java | Apache-2.0 | |
| eclipse-vertx/vert.x | 14.7K | Java | NOASSERTION | |
| playframework/playframework | 12.6K | Scala | Apache-2.0 | |
| jfinal/jfinal | 3.3K | Java | Apache-2.0 | |
| ninjaframework/ninja | 1.9K | Java | Apache-2.0 | |
| jooby-project/jooby | 1.8K | Java | Apache-2.0 |