使用 Kotlin 在 Spring 中注入组件的最佳方式
Best way to inject component in Spring with Kotlin
为了使用 Spring/Kotlin 注入 bean,我知道两种方法:
将其传递给构造函数:
@Service
open class MyService @Autowired constructor(
@Autowired
val myRepository: MyRepository
)
使用 'lateinit' 关键字:
@Service
open class MyService {
@Autowired
lateinit var myRepository: MyRepository
}
我知道这两部作品,但我想知道哪一部最好?有什么问题我可以使用一种解决方案而不是另一种解决方案吗?
谢谢!
我更喜欢构造函数。 Spring 如果只有一个构造函数,则不再需要 @Autowired 注解。这样你就不必打开 class(你做一些 Spring 的事情,比如 @Scheduled 但这是另一个问题)或使用 var。它也很容易阅读。
这就是您所需要的
@Service
class MyService (private val myRepository: MyRepository)
为了使用 Spring/Kotlin 注入 bean,我知道两种方法: 将其传递给构造函数:
@Service
open class MyService @Autowired constructor(
@Autowired
val myRepository: MyRepository
)
使用 'lateinit' 关键字:
@Service
open class MyService {
@Autowired
lateinit var myRepository: MyRepository
}
我知道这两部作品,但我想知道哪一部最好?有什么问题我可以使用一种解决方案而不是另一种解决方案吗?
谢谢!
我更喜欢构造函数。 Spring 如果只有一个构造函数,则不再需要 @Autowired 注解。这样你就不必打开 class(你做一些 Spring 的事情,比如 @Scheduled 但这是另一个问题)或使用 var。它也很容易阅读。
这就是您所需要的
@Service
class MyService (private val myRepository: MyRepository)