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 PropertyBinding
s 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