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.injectandjakarta.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 @interfaceSpecify types to generate DI classes for.