如何为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。