Package io.micronaut.context.annotation
Annotation Interface EachBean
This annotation allows driving the production of Bean
definitions from presence of other bean definitions.
Typically used in conjunction with EachProperty
For example:
@EachProperty("foo.bar")
public class ExampleConfiguration {
}
In the above example a new ExampleConfiguration
bean will be created for each item under the
foo.bar
key in application configuration
One can then drive the configuration of other beans with the same annotation:
@EachBean(ExampleConfiguration)
@Singleton
public class ExampleBean {
ExampleBean(ExampleConfiguration config) {
...
}
}
EachBean
requires that the parent bean has a Named
qualifier, since the qualifier is inherited by each bean created by EachBean
.
- Since:
- 1.0
- Author:
- Graeme Rocher
- See Also:
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic @interface
The generics remapping configuration. -
Required Element Summary
-
Optional Element Summary
Modifier and TypeOptional ElementDescriptionEnable for a new bean definition to inherit the generics from the driven bean definitions.
-
Element Details
-
value
Class<?> value- Returns:
- The bean type that this bean is driven by
-
-
-
remapGenerics
EachBean.RemapGeneric[] remapGenericsEnable for a new bean definition to inherit the generics from the driven bean definitions.- Returns:
- The remap configuration
- Since:
- 4.6
- Default:
- {}
-