要用Spring / Kotlin注入豆,我知道两种方法: 将其传递给构造函数:
@Service
open class MyService @Autowired constructor(
@Autowired
val myRepository: MyRepository
)
使用'lateinit'关键字:
@Service
open class MyService {
@Autowired
lateinit var myRepository: MyRepository
}
我知道这两个作品,但是我想知道哪个是最好的?使用一种解决方案而不是其他解决方案会遇到一些问题吗?
谢谢!
答案 0 :(得分:3)
我更喜欢构造函数。如果只有一个构造函数,Spring不再需要@Autowired注释。这样,您不必打开类(您需要处理一些Spring事情,例如@Scheduled,但这是另一个问题)或使用var。它也很容易阅读。
这就是您所需要的
@Service
class MyService (private val myRepository: MyRepository)