1
我想在我的java8春天項目中使用kotlin。 我正在通過逐個替換類(java-> kotlin)來完成它。Kotlin春天類方面啓動
我班在Finder中一:
Finder.java具有這樣的結構:
@Compoment
class Finder {
private SomeObject someObject;
Finder() {
someObject = new SomeObject();
}
public void doSomething() { //aspect looks here
someObject.do();
}
}
我已經Finder.kt取而代之
@Compoment
open public class Finder {
private val someObject : SomeObject
constructor() {
someObject = SomeObject()
}
public fun doSomething() { //aspect looks here
someObject.do() //NPE here
}
}
雖然debuggind,我我發現,那個構造函數被調用,someObject是在Finder實例創建時創建的。但FinderEnhancerBySpring生成的類實例已自動裝配到Detector實例。它沒有啓動,所以當我嘗試訪問someObject時,我得到了NPE。
另外Finder類還有其他自動填充字段(爲了簡化代碼,我沒有在這裏寫過),它們也沒有被啓動。
UPD:我發現了Finder的方法之一。當我刪除它時,輸入autowired實例成爲Finder(而不是FinderEnhancerBySpring)並完全啓動。
這裏有什麼問題? (0.13.1514 - 科特林版)
了這一個解決方案問題?如果是這樣,你可以接受你自己的答案,使這個問題看起來更「完成」 –