-
Notifications
You must be signed in to change notification settings - Fork 179
Home
Yahhh – PostConstruct me now unt PreDestroy me lay-tuh
Governator is a library of extensions and utilities that extend Google Guice to provide:
- Classpath scanning and automatic binding
- Lifecycle management
- Configuration to field mapping
- Field validation
- Parallelized object warmup/cooldown
Governator introduces a new annotation @AutoBindSingleton
. Governator will scan the Classpath to find classes annotated with AutoBindSingleton and bind them as eager Singletons.
Governator adds support for the standard annotations: @PostConstruct
and @PreDestroy
.
Governator introduces a new annotation @Configuration
that can be used to annotate class fields. Governator will assign the fields using configuration from property files, etc. Another annotation is also introduced, @PreConfiguration
, for methods to be called prior to configuration assignment.
Governator supports the javax.validation
annotations (JSR 303). Fields annotated with validation annotations will get validated via the Hibernate Validator library.
Governator introduces two new annotations WarmUp
and CoolDown
. Methods annotated with WarmUp
will get executed (in parallel) after injected by Guice. Methods annotated with CoolDown
will get executed (in parallel) when the Governator Lifecycle is shut down.
Governator adds a LazySingleton annotation and scope. This is the opposite of Guice’s Eager Singletons. Lazy singletons are not created until just before they are to be injected regardless of Guice’s Stage.
The com.netflix.governator.annotations.binding
package contains a set of generic binding annotations that you might find useful. These might be more clear and more maintainable to users than using Guice’s @Named
.
It’s assumed that you are familiar with Google Guice.
Governator is based on ideas developed for the Proofpoint Platform library.
Governator binaries are published to Maven Central.
GroupID/Org | com.netflix.governator |
ArtifactID/Name | governator |
- Home
- Getting Started
- Bootstrapping
- Lifecycle Management
- Auto Binding
- Module-Dependencies
- Warm Up
- Configuration Mapping
- Field Validation
- Lazy Singleton
- Concurrent Singleton
- Generic Binding Annotations
- LifecycleListener
- Governator Phases
- Grapher Integration
- JUnit Testing
- FAQ
- Best Practices
- Spring, PicoContainer, Etc.
- Javadoc
- End-to-End Examples