注入 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) {
...
}
用 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) {
...
}