Modules
Modules are simply built-in Extensions. They are thin layers that bootstrap and configure external third-party libraries (like HikariCP, Jackson, or Hibernate) using Jooby’s Extension API.
Unlike other frameworks, Jooby modules do not create new layers of abstraction or custom wrappers around the libraries they integrate. Instead, they expose the raw library components directly to your application via the Service Registry, allowing you to use the library’s native API exactly as its creators intended.
Modules are distributed as separate dependencies. Below is the catalog of officially supported Jooby modules:
Cloud
-
AWS-SDK v2: Amazon Web Service module SDK 2.
-
AWS SDK v1: Amazon Web Service module SDK 1.
Data
-
Ebean: Ebean ORM module.
-
Flyway: Flyway migration module.
-
GraphQL: GraphQL Java module.
-
HikariCP: A high-performance JDBC connection pool.
-
Hibernate: Hibernate ORM module.
-
Jdbi: Jdbi module.
-
Kafka: Kafka module.
-
Redis: Redis module.
-
Vertx mySQL client: Vertx reactive mySQL client module.
-
Vertx Postgres client: Vertx reactive Postgres client module.
Dependency Injection
-
Avaje Inject: Avaje Inject module.
-
Guice: Guice module.
Validation
-
Avaje Validator: Avaje Validator module.
-
Hibernate Validator: Hibernate Validator module.
JSON
-
Avaje-JsonB: Avaje-JsonB module for Jooby.
-
Gson: Gson module for Jooby.
-
Jackson2: Jackson2 module for Jooby.
-
Jackson3: Jackson3 module for Jooby.
-
JSON-B: JSON-B module for Jooby.
Template Engine
-
Handlebars: Handlebars template engine.
-
JStachio: JStachio template engine.
-
jte: jte template engine.
-
Freemarker: Freemarker template engine.
-
Pebble: Pebble template engine.
-
Rocker: Rocker template engine.
-
Thymeleaf: Thymeleaf template engine.
Scheduler
-
DbScheduler: Db scheduler module.
-
Quartz: Quartz scheduler module.