Customizable injection of bean properties, based on
http://code.google.com/p/google-guice/wiki/CustomInjections.
For example:
new AbstractModule() {
@Override protected void configure() {
bindListener( Matchers.any(), new BeanListener( new MyBeanBinder() ) );
}
}
MyBeanBinder will be asked to supply a
PropertyBinder for each bean type, say Foo.
That PropertyBinder will be asked to supply a PropertyBinding for each property (field or setter) in Foo.
Those PropertyBindings are then used to automatically configure any injected instances of Foo.
Interfaces
Classes
| BeanListener |
TypeListener that listens for bean types and arranges for their properties to be injected. |
| BeanProperties |
Iterable that iterates over potential bean properties in a class hierarchy. |
| BeanScheduler |
Schedules safe activation of beans even when cyclic dependencies are involved. |
| DeclaredMembers |
Iterable that iterates over declared members of a class hierarchy. |
| LifecycleManager |
BeanManager that manages JSR250 beans and schedules lifecycle events. |
| LifecycleModule |
Guice Module that provides JSR250 lifecycle management by following PostConstruct and
PreDestroy annotations. |
Annotations
| IgnoreSetters |
Annotates class hierarchies that don't want setter injection. |
Enums