我想在Spring靴中通过kotlin在另一个类中注入一个单例。
S.kt
@Singleton
@Component
class S(
private val userService: UserService,
val companyRepo: CompanyRepo
)
WorkingGroup.kt
class WorkingGroup(
override val name: String = "",
override val desc: String = ""
) : Csv() {
fun isCompatible(ct2: WorkingGroup): Boolean = this == ct2
companion object : ICsvEnumCompanion<WorkingGroup> {
@Inject
private lateinit var s: S
override val VALUES: List<WorkingGroup>
by lazy {
val details = s.user().company.details ?: CompanyDetails()
details.workingGroups.map { WorkingGroup(it.name, it.desc) }
}
}
}
通过这段代码,我得到以下错误:
Caused by: org.zalando.problem.DefaultProblem: Internal Server Error: lateinit property s has not been initialized
我搜索了这个错误,发现了一些类似的结果,但是问题没有解决。< br >在kotlin中,如何在伴随对象中注入服务?
为了让Spring注入到伴侣对象中,您需要为伴侣对象之外的字段创建一个setter。WorkingGroup
需要是Spring托管bean才能让Spring自动装配它(注入依赖项)。
@Component
class WorkingGroup(
override val name: String = "",
override val desc: String = ""
) : Csv() {
fun isCompatible(ct2: WorkingGroup): Boolean = this == ct2
companion object : ICsvEnumCompanion<WorkingGroup> {
private lateinit var s: S
override val VALUES: List<WorkingGroup>
by lazy {
val details = s.user().company.details ?: CompanyDetails()
details.workingGroups.map { WorkingGroup(it.name, it.desc) }
}
}
@Autowired
fun setS(value: S) {
s = value;
}
}
这是我的主要功能 我在我的主类中调用它,并且一切正常,我可以得到响应。 当我想为它编写测试时,我遇到了错误“kotlin.UninitializedPropertyAccessException:lateinit属性客户端尚未初始化”,有人能帮我吗?"
有人以前有过类似的问题吗? 如何声明init()的默认变量值? 下面是我的代码示例, 然后在下面抛出异常: 起因:科特林。UninitializedPropertyAccessException:late init属性emailDir尚未初始化 任何解决方案都可以共享?
Json服务器数据显示,在使用retrofit2和rxjava2的android中,当参数传递给inteface时,会出现错误。 接口
我不知道这是怎么回事 主要活动 我遇到了这个问题 2022-03-18 09:18:27.393 13874-13874/com。实例githubuser2 E/AndroidRuntime:致命异常:主进程:com。实例githubuser2,PID:13874 java。lang.RuntimeException:无法启动活动组件信息{com.example.githubuser2/com.e
我有一个类,我注入到ViewModel ViewModel工厂,当在活动中的onCreate方法中初始化视图模型时,它说传递的值没有初始化。 下面是我的代码 我对Kotlin很陌生,所以尝试过调试,但在这个问题上卡住了。 这是Mainactive代码: 我的ViewModelFactory: 我的班级回购: 这是我收到的错误:
我正在尝试使用Spring-boot+Vaadin创建一个web项目,并且希望使用spring-data-jpa和hibernate从PostgreSQL数据库中获取数据。 在我的Vaadin看来,我尝试自动连接我的服务类,但我总是得到null,而且eror堆栈跟踪没有告诉我原因。 数据库得我得配置: 视图和UI: pom.xml: 我的服务: 更新的解决方案: