如何为Micronaut框架使用@Inject注释注入(inject)类中的依赖项

@Controller("/")
class HelloController(val greetService:GreetService){

 @Get("/hello")
 fun getMessage(){
    greetService.greet
  }

}

class GreetService(val userRepo:UserRepo){

  fun doSomething(val data:String){
      userRepo.saveData(data)
  }
}
class UserRepo(val db:DbHandler){
     fun saveData(val data){
       db.save(data)
     }
}

如何使用@Inject

最佳答案

您可以这样写:没有什么不同:

@Inject
var greetingService:GreetingService;

或者你可以在构造函数上做
class HelloController(@Inject val greetService:GreetService)

我更喜欢第二种选择,因为它使用val而不是var。

10-04 23:00
查看更多