问题描述:
Caused by: java.lang.IllegalArgumentException: Could not resolve placeholder 'host' in value '${host}'
问题分析:
1、@Value("${host}")对应的配置在.properties或者.yml文件里面找不到。
解决办法:在.properties或者.yml文件里面添加host属性即可。
2、由于项目配置了多个application-xxx.yml配置文件,application.yml里面绑定的active属性值为test,导致找不到application-test.yml配置文件。
aplication.yml:
spring:
application:
name: test
profiles:
active: '@spring.profiles.active@'
pom.xml:
<profiles>
<profile>
<id>dev</id>
<properties>
<spring.profiles.active>dev</spring.profiles.active>
</properties>
</profile>
<profile>
<id>test</id>
<properties>
<spring.profiles.active>test</spring.profiles.active>
</properties>
<!-- 是否默认 true表示默认-->
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
</profiles>
解决办法:将test环境里面的activation标签移至dev环境即可。
<profiles>
<profile>
<id>dev</id>
<properties>
<spring.profiles.active>dev</spring.profiles.active>
</properties>
<!-- 是否默认 true表示默认-->
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<profile>
<id>test</id>
<properties>
<spring.profiles.active>test</spring.profiles.active>
</properties>
</profile>
</profiles>