Dropwizard guice integration
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.

README.md

Dropwizard guice integration

License Build Status Appveyor build status codecov

DOCUMENTATION: http://xvik.github.io/dropwizard-guicey/

Additional repositories:

Support:

About

Dropwizard 1.3.5 guice 4.2.0 integration.

Originally inspired by dropwizard-guice and dropwizardy-guice (which was derived from first one).

Features:

  • Guice injector created on run phase
  • Auto configuration (classpath scan)
  • Configuration bindings by path or unique sub configuration object
  • Support guice ServletModule and servlet 3.0 annotations (on both contexts)
  • Dropwizard style reporting
  • Admin context rest emulation
  • Tests support for junit and spock
  • Developer friendly: includes debugging tools and api for extensions
  • Flexible HK2 integration

Thanks to

Setup

Releases are published to bintray jcenter (package appear immediately after release) and then to maven central (require few days after release to be published).

JCenter Maven Central

May be used through extensions project BOM or directly.

Maven:

<dependency>
  <groupId>ru.vyarus</groupId>
  <artifactId>dropwizard-guicey</artifactId>
  <version>4.2.1</version>
</dependency>

Gradle:

compile 'ru.vyarus:dropwizard-guicey:4.2.1'
Dropwizard Guicey
1.3 4.2.1
1.1, 1.2 4.1.0
1.0 4.0.1
0.9 3.3.0
0.8 3.1.0
0.7 1.1.0

BOM

Guicey pom may be also used as maven BOM:

plugins {
    id "io.spring.dependency-management" version "1.0.6.RELEASE"
}
dependencyManagement {
    imports {
        mavenBom 'ru.vyarus:dropwizard-guicey:4.2.1'
        // uncomment to override dropwizard version    
        // mavenBom 'io.dropwizard:dropwizard-bom:1.3.5' 
    }
}

dependencies {
    compile 'ru.vyarus:dropwizard-guicey:4.2.1'
   
    // no need to specify versions
    compile 'io.dropwizard:dropwizard-auth'
    compile 'com.google.inject:guice-assistedinject'   
     
    testCompile 'io.dropwizard:dropwizard-test'
    testCompile 'org.spockframework:spock-core'
}

Bom includes:

  • Dropwizard BOM (io.dropwizard:dropwizard-bom)
  • Guice BOM (com.google.inject:guice-bom)
  • HK2 bridge (org.glassfish.hk2:guice-bridge)
  • System rules, required for StartupErrorRule (com.github.stefanbirkner:system-rules)
  • Spock (org.spockframework:spock-core)

Guicey extensions project provide extended BOM with guicey and all guicey modules included. See extensions project BOM section for more details of BOM usage.

Snapshots

You can use snapshot versions through JitPack:

  • Go to JitPack project page
  • Select Commits section and click Get it on commit you want to use (top one - the most recent)
  • Follow displayed instruction: add repository and change dependency (NOTE: due to JitPack convention artifact group will be different)

Usage

Read documentation

Might also like


java lib generator