Welcome to dropwizard-guicey¶
Guice 7.0.0
integration for dropwizard 4.0.8
.
Compiled for java 11
, compatible with java 11 - 21
.
Release Notes - History - Javadoc - Support - License
For migration see migration guide
Main features¶
- Auto configuration from classpath scan and guice bindings.
- Yaml config values bindings by path or unique sub objects.
- Advanced Web support
- Dropwizard style console reporting: detected (and installed) extensions are printed to console to remove uncertainty
- Test support: custom junit and spock extensions
- Developer friendly:
- core integrations may be replaced (to better fit needs)
- rich api for developing custom integrations, and hooking into lifecycle)
- out of the box support for plug-n-play plugins (auto discoverable)
- diagnostic tools (reports), support for custom diagnostic tools
Sponsors¶
If guicey makes your life easier, you can support its development.
Project structure¶
- ru.vyarus:dropwizard-guicey - core guicey module. Could be used without any extra modules
- ru.vyarus.guicey:guicey-[module name] - guicey extension
modules (use with
ru.vyarus.guicey:guicey-bom
). Modules provide additional functionality like 3rd party libraries integration. Also, serve as an example of possible extension implementations. - Examples - various usage examples for core guicey, extension modules and some direct integrations
Before, guicey and extensions were released separately in different repositories - different packages were preserved after merge
Supported versions¶
Due to 3 major changes in dropwizard recently, 3 guicey versions supported:
Dropwizard | Guicey | Reason |
---|---|---|
2.1.x | 5.x | Last java 8 compatible version |
3.x | 6.x | Changed core dropwizard packages - old 3rd paty bundles would be incompatible |
4.x | 7.x | Jakarta namespace migration - 3rd party guice modules might be incompatible |
All branches use the same project structure: core guicey merged with extension modules. It greatly simplifies releases and keeps actual examples in one branch.
Upcoming guicey changes would be ported in all 3 branches.
SBOM¶
SBOM (cyclonedx) is published for every guicey module with cyclonedx
classifier (same way as dropwizard)
as json and xml files.
Documentation Summary¶
Introduction¶
- Getting started guide describes installation and provides core usage examples
- Concepts overview guide introduces core guicey concepts and demonstrates differences from pure dropwizard usage
- Guice the essence of guice integration
- Testing describes integration testing techniques
- Decomposition guide on writing re-usable modules
Reference¶
- User guide contains detailed feature descriptions. It is good to read, but it also functions well as a reference if you're short on time.
- Installers describes all guicey installers. Use it as a extensions hand book.
- Modules external extension modules overview.
- Examples some usage examples.