gpt4 book ai didi

java - 在 Spring 中动态注入(inject)类

转载 作者:行者123 更新时间:2023-11-30 01:44:55 26 4
gpt4 key购买 nike

我想根据方法调用的参数动态注入(inject)一个类

我尝试使用AspectJ和Spring的不同注释

我需要这样的解决方案:

@Component
class MyUseCase(private val spi: MySpiPort) {

fun myAction() {
spi.doSomething("myId")
}
}

interface Injectable

interface MySpiPort : Injectable {
fun doSomething(id: String)
}


class MyProxyClass {

//will intercept all Injectable
fun resolver(id: String): MySpiPort {
if(id == "myId"){
//inject MyFirstImpl
}else{
//inject MySecondImpl
}
TODO("not implemented")
}

}

@Component
class MyFirstImpl : MySpiPort {
override fun doSomething(id: String) {
TODO("not implemented")
}
}

@Component
class MySecondImpl : MySpiPort {
override fun doSomething(id: String) {
TODO("not implemented")
}
}

我希望仅注入(inject)实现的通用接口(interface),我不想在 MyUseCase 类中注入(inject) FactoryBean 类或类似的东西。

最佳答案

关于java - 在 Spring 中动态注入(inject)类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58474494/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com