java - Spring Boot 配置文件和@Value
问题描述
不知道我在这里做错了什么,但我有以下值指向微服务的 URL。
@Value("${url.dispenseRoot}")
private String dispenseRoot;
我正在我的 application.yml 文件中设置我的开发配置文件,例如:
---
spring:
datasource:
url: jdbc:h2:mem:test
username: sa
password: sa
driverClassName: org.h2.Driver
config:
activate:
on-profile: dev
mpesa:
host: sandbox.safaricom.co.ke
port: 443
url:
dispenseRoot: https://localhost:8844/dispense
---
然后,根据我在这里的回答:从 IntelliJ 运行时如何激活 Spring Boot 配置文件?,我在运行配置上设置了 spring boot 配置文件,如下所示:
然后运行以下测试来测试我的配置:
@SpringBootTest
public class PaymentApplicationTests {
@Test
public void contextLoads() {
}
}
我得到:
... 111 more
Caused by: java.lang.IllegalArgumentException: Could not resolve placeholder 'url.dispenseRoot' in value "${url.dispenseRoot}"
现在,如果我复制并粘贴以下行:
url:
dispenseRoot: https://localhost:8844/dispense
在我的个人资料上方,我正在设置适用于所有内容的常规设置,它工作正常。因此,我确定它与配置文件有关,但我无法弄清楚它是什么。
请指教...
解决方案
推荐阅读
- python - 如何通过语法 TupleName.index() 查找嵌套元组元素的索引
- xcode - Xcode 项目导航器,无法访问项目
- javascript - 汽车品牌/型号动态下拉菜单
- python - 从 sql 表中选择值对
- scala - Scala等待异步调用在循环中完成
- asp.net-core-2.2 - 如何修复验证错误 Netcore 2.2 Web API 中的响应
- sql - Regexp_replace WITH DECIMAL 返回错误 ORA-01722 "Invalid Number"
- spring-boot - @SpyBean 不适用于 Pact 和 JUnit 5
- php - 清理带有标点错误和缺少空格的字符串
- node.js - 使用 MQTT 的异步 base-local