gpt4 book ai didi

java - 取决于环境的 Spring 接线

转载 作者:行者123 更新时间:2023-12-05 01:48:12 29 4
gpt4 key购买 nike

使用 Spring 连接,如果我有一个接口(interface)的多个实现,我可以使用 @Qualifier 来指定我想要的。

例如,假设我有一个

@Component
@Qualifier("Toyota")
public class Toyota implements Car

和一个

@Component
@Qualifier("Bmv")
public class Bmv implements Car

然后我可以选择一个特定的实现:

  @Qualifier("Toyota") Car car 

但是有没有办法根据环境来选择实现呢?

即如果我将 spring.profiles.active 设置为本地,那么我将选择 Car 的“Toyota”实现,但是如果 spring.profiles.active 设置为 dev 或 stage,那么我将选择 Car 的“Bmv”实现?

将不胜感激确切语法的示例。

最佳答案

啊,解决方法其实很简单:

@Component
@Qualifier("Bmv")
@Profile("!dev")
public class Bmv implements Car

@Component
@Qualifier("Toyota")
@Profile("dev")
public class Toyota implements Car

这样,Car 的布线将在开发环境中使用 Toyota,否则使用 Bmv。

关于java - 取决于环境的 Spring 接线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16600425/

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