Identify a bean as component with singleton scope that avaje-inject will use.
This is an alternative to using the standard @Singleton
annotation.
We generally use @Component
when we:
- Want to use avaje-inject in a project that has some other library using
@Singleton
- Want to support BOTH
javax.inject
andjakarta.inject
Example
@Component
class MyEmailSender implements EmailSender {
...
}
Ignoring @Singleton
Set InjectModule.ignoreSingleton()
true
to get avaje-inject to ignore
classes annotated with @Singleton
. Typically, we want another DI library to use
those classes and want avaje-inject to co-exist independently.
@InjectModule(name = "coffee", ignoreSingleton = true)
package coffee;
import io.avaje.inject.InjectModule;
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic @interface
Specify types to generate DI classes for.