【发布时间】:2018-10-10 08:02:40
【问题描述】:
我创建了一个用@ApplicationProperties注解的类
@Configuration
@ConfigurationProperties(prefix = "myapp.security")
class SecurityProperties {
lateinit var signingKey: String
}
并测试是否从配置文件中检索到值
@ExtendWith(SpringExtension::class)
@TestInstance(TestInstance.Lifecycle.PER_CLASS)
@SpringBootTest
@Profile("security-properties-test")
class SecurityPropertiesTest {
@Autowired
lateinit var securityProperties: SecurityProperties
@Test
fun `security properties are set`(){
securityProperties.signingKey shouldBe "theSigningKey"
}
}
当我在默认的 application.yml 中创建一些值时,该值被拾取并且一切正常
spring:
jpa:
show-sql: true
myapp:
security:
signing-key: theSigningKey
但是当我尝试覆盖配置文件中的值时,仍然使用默认配置文件中的值
spring:
jpa:
show-sql: true
myapp:
security:
signing-key: theSigningKey
---
spring:
profiles: security-properties-test
myapp:
security:
signing-key: anothertheSigningKey
我在这里错过了什么?
【问题讨论】: