java - 如何正确配置Spring应该选择哪个实现?
问题描述
我想知道在配置(application.yml)中具有初始化特定bean的首选实现的“最佳”方式。
场景:我有一个服务,Service.java 和两个实现,ServiceImpA.java 和 ServiceImpB.java,使用 spring 提供的注释 @Qualifier("?") 指向一个实现或另一个实现非常容易,作为实现是@Autowired。我想知道在 application.yml 中配置 @Qualifier 的值时的语义。这是 java11 和
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.6.RELEASE</version>
<relativePath/>
</parent>
解决方案
作为@M。Deinum 在评论中指出;@ConditionalOnProperty 是前进的方向。 https://www.baeldung.com/spring-conditionalonproperty
推荐阅读
- php - 警告:使用未定义的常量 reply_text – 假定为“reply_text”
- r - 如果 2 个特定列 (R) 中有零,则删除行
- javascript - 如何在动态 Antd 表单中默认显示第一项?
- r - R 包和 S4 对象:“无法找到继承的方法”错误
- php - 从另一个页面重定向时,Laravel 中经过身份验证的用户的 PHPUnit 断言
- gradle - “此处不得使用插件 {} 块。如果您需要强制应用插件”究竟是什么?
- reactjs - 在 React 中为页脚创建超链接
- asp.net-core - 在 Blazor WASM 中获取原始 oauth 令牌?
- java - JAVA parse properties file with similar numbered keys
- reactjs - 在 React 中只渲染一次函数