我有最奇怪的问题。
我有Java类A
,我还有Kotlin类KA
,它扩展为A
,两者都是@Component
s,KA
也注明了{ {1}}。
在某些组件中,@Primary
是自动装配的,而在其他组件KA
中则是。{1}}。
实际上它甚至更奇怪,因为不同应用程序启动之间的相同依赖bean有时会A
自动装配,有时KA
。
如果我在Java中重写A
,那么一切都按预期工作。
所有依赖类中的属性名称/构造函数参数名称都相同:KA
。
如果我的Kotlin实现实现了一个公共接口或扩展了一个基类,那也没关系。
所有Kotlin和Java类都位于@Autowired A a;
。
Kotlin版本为src/main/java
,我使用的是jvm8。