Package io.micronaut.context.annotation
Annotation Type Factory
-
@DefaultScope(jakarta.inject.Singleton.class) @Retention(RUNTIME) @Documented public @interface Factory
A factory is a
Singletonthat produces one or many other bean implementations.Each produced bean is defined by method that is annotated with
Bean@Factory public class MyFactory { @Bean public MyBean myBean() { // create the bean } }Methods defined within the body of the class that are annotated with
Beanwill be exposed as beans.You can use a
Scopeannotation to control the scope the bean is exposed within. For example for a singleton instance you can annotation the method withSingleton.Methods annotated with
Beancan accept arguments and Micronaut will attempt to inject those arguments from existing beans or values. For example:@Factory public class MyFactory { @Bean public MyBean myBean(@Value("foo.bar") String myValue) { // create the bean } }- Since:
- 1.0
- See Also:
Bean,Configuration