当前使用版本:Spring Framework version is 5.2.5.RELEASE 解析@Value的代码位置:org.springframework.beans.factory.support.AbstractBeanFactory#resolveEmbeddedValue 假设配置了: @value("${server.servlet.context-path:/}") 1、当存在多个值解析器时,如果第一个解析器获取不到配置项(server.servlet.context-path)的值,那么resolveStringValue方法将返回默认值(本例中既是 /) 2、上一个值解析器的返回值,作为下一个值解析器resolveStringValue的参数传递进去。因此,即使第二个值解析器有配置了值,那么也不可能进行正确的解析了,这导致了结果始终返回默认值