记一次spring boot参数初始化的问题
背景:接手一个项目,看到一个配置参数的引用:
@Value("${webSocket.id}")
再看看配置application.yml:
...
webSocket:
id: w00005
...
看上去再普通不过了,然而程序里打印出来竟然是w00001
原因:
在tomcat的conf/context.xml中也有这个配置:
<Environment name="webSocket.id" value="w00001" type="java.lang.String" override="false"/>
看起来先读取了application.yml中的配置项,又读取了context.xml中的配置项。
上善若水,水利万物而不争。