how-to-scan-in-class-like-@Componnent-in-spring
In Micronaut, the equivalent of Spring's @Component
annotation for declaring a class as a bean that should be managed by the framework is @Singleton
. This annotation marks a class to be scanned and managed by Micronaut's Dependency Injection (DI) container. Here's a brief overview:
@Singleton
: This annotation is typically used to indicate that a single instance of the class should be created and managed by the DI container. It's the most common scope for defining beans in Micronaut.
Here is an example of how you might use it:
import javax.inject.Singleton
@Singleton
class MyService {
// service methods here
}
In this example, MyService
is a class that will be automatically detected and managed by Micronaut as a singleton bean. You can inject this bean into other components or controllers as needed.
Micronaut also supports other annotations for different scopes, such as @Prototype
for a new instance every time, @Context
for application context lifecycle, and @Infrastructure
for framework infrastructure classes. However, @Singleton
is generally the most direct equivalent to Spring's @Component
for general-purpose beans.