注入 Kotlin 的不可变构造函数的正确方法 class

Correct approach for immutable constructor injected Kotlin class

用 Spring + Kotlin 声明注入 class 的不可变构造函数的正确方法是什么?目前我有:

@RestController
public class AuthorizationController
{
    @Inject
    lateinit var facebookAuth: FacebookAuthorizationService //Mutable?

    @RequestMapping("/authorization")
    public fun authorization(@RequestParam(value = "network-type", defaultValue = "Facebook") name: String,
                             @RequestParam(value = "oauth-token") oauthToken: String,
                             @RequestParam(value = "oauth-token-secret",
                                     required = false) oauthTokenSecret: String?): Authorization
    {
        //TODO: Handle other network types
        return facebookAuth.authorization(oauthToken)
    }
}

我希望 facebookAuth 属性 是不可变的。

这里对 Kotlin 的经验不多,但我认为必须用

public class AuthorizationController @Inject constructor(private val facebookAuth: FacebookAuthorizationService) {

    ...

}