gpt4 book ai didi

spring-boot - 使用 ConfigFileApplicationContextInitializer 不会解析 @Value 的默认值

转载 作者:行者123 更新时间:2023-12-04 03:12:45 26 4
gpt4 key购买 nike

当我使用:

@ContextConfiguration(classes = { DmiVehicleRTExportConfig.class },
initializers = ConfigFileApplicationContextInitializer.class)

我的集成测试因以下属性而失败:
${oauth2client.prematureTimeout:600}

没有得到 600 的默认值。

这是通过使用解决的: SpringApplicationConfiguration 但我想使用 ConfigFileApplicationContextInitializer.class 而不是 SpringApplicationConfiguration

谢谢。

最佳答案

我遇到过同样的问题。需要添加PropertySourcesPlaceholderConfigurer.class:

@ContextConfiguration(classes = { DmiVehicleRTExportConfig.class, 
PropertySourcesPlaceholderConfigurer.class },
initializers = ConfigFileApplicationContextInitializer.class)

Spring 团队刚刚添加了一条关于此的说明:

Using ConfigFileApplicationContextInitializer alone won’t provide support for @Value("${…​}") injection. Its only job is to ensure that application.properties files are loaded into Spring’s Environment. For @Value support you need to either additionally configure a PropertySourcesPlaceholderConfigurer or use @SpringBootTest where one will be auto-configured for you.

关于spring-boot - 使用 ConfigFileApplicationContextInitializer 不会解析 @Value 的默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33815563/

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