avaje jvm libraries

configuration

Provides external configuration for applications. Loads yaml and properties files, supports dynamic configuration and plugins.

dependency injection

Cloud native and kubernetes friendly dependency injection by generating source code using java annotation processing.

Similar to Dagger2 it uses java annotation processing to perform dependency injection using source code generation. Unlike Dagger2 it includes lifecycle support plus support for component testing.

http client

An http client based on JDK 11+ HttpClient. Includes support for defining client API's similar to JAX-RS, Retrofit and Feign. Uses java annotation processing to generate client API implementations.

http server

Lightweight JAX-RS style http servers using Javalin and Helidon SE. Use annotations like @Path, @Get etc to define a rest api.

Uses java annotation processing generating source code for adapting rest API's to servers making it much lighter and simpler than JAX-RS.