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

澄清kotlin命中1.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 } 

}

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

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

更新:在kotlin中注释构造函数是可能的。 问题是,不允许使用基于构造函数的DI进行@Configuration

呃,我认为这个问题发布后,语法已经发生了根本性的变化。 目前的方式(根据文档 )是添加关键字constructor之间的类名称和参数和注释,即

 public class AppConfig @Configuration constructor(dataSource: DataSource) { //... } 

试着写:

 Configuration public open class AppConfig [Import(javaClass<DataSourceConfig>())] (dataSource: DataSource) { //... } 

这个语法适用于我:

 Configuration Import(javaClass<DataSourceConfig>()) public open class AppConfig { private val dataSource: DataSource Autowired constructor(dataSource: DataSource){ this.dataSource = dataSource } }