gpt4 book ai didi

micronaut - 使用 micronaut 注入(inject)同一接口(interface)的不同实现

转载 作者:行者123 更新时间:2023-12-04 15:41:54 25 4
gpt4 key购买 nike

假设我有 MotoDaoCarDao,它们都是 VehicleDao 接口(interface)的实现。

如何使用 micronuat 将两者都注入(inject)到一个类中?

我希望如下所示:

@Inject
public VehicleHandler(@MotoDao VehcileDao motoDao, @CarDao VehicleDao carDao)

最佳答案

您可以使用 @Named 注释通过前缀(motocar)进行限定,如下所示:

@Inject
public VehicleHandler(@Named('moto') VehcileDao motoDao, @Named('car') VehicleDao carDao)

或者您可以创建自己的限定符注释:

@Qualifier
@Retention(RUNTIME)
@interface Car {
}

@Qualifier
@Retention(RUNTIME)
@interface Moto {
}

用它们注释你的 DAO 类:

@Moto
public class MotoDao implements VehicleDao {
...
}

...然后像这样使用它:

@Inject
public VehicleHandler(@Moto VehcileDao motoDao, @Car VehicleDao carDao)

您可以在官方 Micronaut 文档中找到更多数据:https://docs.micronaut.io/latest/guide/ioc.html

关于micronaut - 使用 micronaut 注入(inject)同一接口(interface)的不同实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57552841/

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