相关疑难解决方法(0)

使用YAML的Spring @PropertySource

Spring Boot允许我们用YAML等价物替换我们的application.properties文件.但是我的测试似乎遇到了麻烦.如果我注释我的TestConfiguration(一个简单的Java配置),它期望一个属性文件.

例如,这不起作用: @PropertySource(value = "classpath:application-test.yml")

如果我在我的YAML文件中有这个:

db:
  url: jdbc:oracle:thin:@pathToMyDb
  username: someUser
  password: fakePassword
Run Code Online (Sandbox Code Playgroud)

我会用这样的东西来利用这些价值观:

@Value("${db.username}") String username
Run Code Online (Sandbox Code Playgroud)

但是,我最终得到了错误:

Could not resolve placeholder 'db.username' in string value "${db.username}"
Run Code Online (Sandbox Code Playgroud)

我如何在测试中利用YAML的优点?

spring spring-boot

89
推荐指数
8
解决办法
9万
查看次数

YML的ConfigurationProperties加载列表

我正在尝试从YML加载配置。如果这些是逗号分隔的值,则可以加载值,也可以加载列表。但是我无法加载典型的YML列表。

配置类别

@Component
@PropertySource("classpath:routing.yml")
@ConfigurationProperties
class RoutingProperties(){
    var angular = listOf("nothing")
    var value: String = ""
}
Run Code Online (Sandbox Code Playgroud)

工作routing.yml

angular: /init, /home
value: Hello World
Run Code Online (Sandbox Code Playgroud)

无法正常工作routing.yml

angular:
    - init
    - home

value: Hello World
Run Code Online (Sandbox Code Playgroud)

为什么我不能加载yml的第二个版本/我有语法错误?

ENV:Kotlin,春季2.0.0.M3

spring yaml kotlin

5
推荐指数
1
解决办法
4071
查看次数

标签 统计

spring ×2

kotlin ×1

spring-boot ×1

yaml ×1