gpt4 book ai didi

java - Spring:使用@Qualifier和@Profile

转载 作者:行者123 更新时间:2023-12-02 08:59:19 25 4
gpt4 key购买 nike

我有一个组件类(让我们在MyService中类),它由@Qualifier(US)标记。

由于该组件需要 application.yml 文件中存在一些值,因此我还使用 @Profile({"default", "qual"}) 标记了该类获取类的某些内部属性的正确值。

问题,当我针对此特定限定符(美国)执行 cucumber 测试时,程序会抛出以下错误发生意外的内部服务器错误:没有名为“US”的可用 bean:找不到与限定符“匹配的 MyService bean” US' - 限定符不匹配,bean 名称也不匹配!

所以,我对此的理解是,注释 @Qualifier@Profile 不能一起工作。是对的吗?或者我是否错过了在同一类中使用它们的东西?

最佳答案

@Qualifer

This annotation may be used on a field or parameter as a qualifier for candidate beans when autowiring.

@Profile

Indicates that a component is eligible for registration when one or more specified profiles are active.

具有以下注释集的类

@Service
@Qualifier("US")
@Profile({"default", "qual"})
public class MyService {
...}

仅当“default”或“qual”配置文件处于 Activity 状态时才会注册 MyService bean,然后在 bean 上可以使用限定符“US” Autowiring

@Autowired
@Qualifer("US")
private MyService myService;

@Value可用于注入(inject)属性

@Value(${some.name})
private String name;

关于java - Spring:使用@Qualifier和@Profile,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60285420/

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