是否可以在Kotlin中注释类构造函数

ivs*_*tas 8 annotations kotlin

澄清 这个问题是在kotlin1.0版之前提出的.现在,示例中的语言语法已经过时,请遵循官方文档.


我正在玩kotlin春季DI.我想使用基于构造函数的依赖注入,所以我需要注释构造函数.

我尝试了以下方法:

Configuration
Import(javaClass<DataSourceConfig>())
public open class AppConfig(dataSource: DataSource) {
    private val dataSource: DataSource

    Autowired {
        this.dataSource = dataSource
    }
}

Configuration
public open class DataSourceConfig {

    Bean
    public open fun dataSource(): DataSource {
        // source omitted
    }
Run Code Online (Sandbox Code Playgroud)

}

但它不起作用.甚至可以在kotlin中注释构造函数吗?

PS我正在使用Kotlin M10.1和Spring 4.1.4

更新: 在kotlin中可以注释构造函数.问题是不允许在@Configuration中使用基于构造函数的DI

Max*_*Max 17

嗯,我认为自从这个问题发布以来,语法发生了根本性的变化.目前的方法(根据文档)是添加关键字constructor类名和参数之间和注释,即

public class AppConfig @Configuration constructor(dataSource: DataSource) {
    //...
}
Run Code Online (Sandbox Code Playgroud)