是否可以在 Kotlin 中执行以下操作?
@Autowired
internal var mongoTemplate: MongoTemplate
@Autowired
internal var solrClient: SolrClient
原文由 eendroroy 发布,翻译遵循 CC BY-SA 4.0 许可协议
是否可以在 Kotlin 中执行以下操作?
@Autowired
internal var mongoTemplate: MongoTemplate
@Autowired
internal var solrClient: SolrClient
原文由 eendroroy 发布,翻译遵循 CC BY-SA 4.0 许可协议
是的,与 Java 一样,Kotlin 主要支持 Java 注释。一个陷阱是主构造函数上的注释需要显式的“构造函数”关键字:
来自 https://kotlinlang.org/docs/reference/annotations.html
如果需要注解一个类的主构造函数,需要在构造函数声明中加上constructor关键字,并在它之前加上注解:
class Foo @Inject constructor(dependency: MyDependency) {
// ...
}
原文由 Mike Buhot 发布,翻译遵循 CC BY-SA 3.0 许可协议
1 回答2.5k 阅读✓ 已解决
2 回答1.7k 阅读
2 回答1.6k 阅读
2 回答1.3k 阅读
1 回答727 阅读✓ 已解决
1 回答579 阅读✓ 已解决
1 回答1.2k 阅读
在 Spring 中进行依赖注入的推荐方法是构造函数注入:
在 Spring 4.3 之前,构造函数应显式注释
Autowired
:在极少数情况下,您可能喜欢使用字段注入,您可以借助
lateinit
来完成:构造函数注入在 bean 创建时检查所有依赖项,所有注入的字段都是
val
,另一方面,lateinit 注入的字段只能是var
,并且运行时开销很小。并使用构造函数测试类,您不需要反射。链接: