是否可以注释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 } }