gpt4 book ai didi

java - 从 spring 配置 Autowiring bean - 特定于环境

转载 作者:行者123 更新时间:2023-12-02 10:36:44 26 4
gpt4 key购买 nike

我正在尝试使用特定于环境的 boolean 标志。在我的 spring 配置中,我定义了三个特定于环境的 bean,如下所示。

    <bean id="validationFlag-E1" class="java.lang.Boolean.FALSE"/>
<bean id="validationFlag-E2" class="java.lang.Boolean.TRUE"/>
<bean id="validationFlag-E3" class="java.lang.Boolean.TRUE"/>

我还在服务器级别定义了“spring.profiles.active”系统属性,根据环境其值为“E1/E2/E3”。

在我的服务中,我正在尝试按照下面的方式进行 Autowiring ,但它不起作用,并且没有可用的“java.lang.Boolean”类型的限定 bean:预计至少有 1 个有资格作为 Autowiring 候选者的 bean。请给我建议。

@Autowired
@Qualifier("validationFlag-${spring.profiles.active}")
Boolean evalFlag;

我们可以通过单独环境特定的属性文件来实现上述要求。但我不想为单个标志创建三个属性文件。因此,在我的 spring 框架项目中尝试上述方法。

最佳答案

将 bean 定义更改为:

<bean id="validationFlag-E1" class="java.lang.Boolean">
<constructor-arg value="false"/>
</bean>
<bean id="validationFlag-E2" class="java.lang.Boolean">
<constructor-arg value="true"/>
</bean>
<bean id="validationFlag-E3" class="java.lang.Boolean">
<constructor-arg value="true"/>
</bean>

关于java - 从 spring 配置 Autowiring bean - 特定于环境,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53234986/

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