gpt4 book ai didi

java - 基于属性 Autowiring bean

转载 作者:行者123 更新时间:2023-11-29 05:58:44 25 4
gpt4 key购买 nike

我的 Spring 配置中有两个 bean,beanAbeanB。这两个 bean 都实现相同的接口(interface)。我有一个带有接口(interface)类型的 Autowiring 字段的类(即它将用 beanAbeanB 的实例填充)。

最初只有一个 bean,所以我简单地使用了 @Autowired 注释并填充了该字段。但是,现在有两个可以 Autowiring 的潜在 bean。我想根据我的一个 .properties 资源中是否存在一个属性来 Autowiring bean。有什么优雅的方法可以做到这一点吗?

我现在使用的解决方案是在 Autowiring 字段上使用@Qualifier注解来指定beanA,然后检查该属性是否存在于代码。如果是,我将该字段重新分配给 beanB 的一个实例。这是一种非常笨拙的方法,所以我正在寻找更好的选择。

最佳答案

除了 bean 配置文件的新功能,您还可以 take advantageFactoryBean在访问时实例化一个bean。这个想法是用 bean 类型(例如 fqcn.BeanAfqcn.BeanB)注入(inject) FactoryBean。然后工厂 bean 将返回 bean 工厂以实例化您可能需要的正确类型的 bean。 FactoryBean 的配置然后可以利用来自资源包的属性。

关于java - 基于属性 Autowiring bean,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11020593/

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