说实话这个问题折磨我几个月了,我按照黑马程序员的视频敲的配置,一直不生效,在网上查也是都说黑马程序员那一套,最终无奈之下我就只好求助群大佬:

最终还是大佬帮我解决:

我之前一直是用${…}加载maven属性,所以出错,大佬的解答是官方文档的说明:
Note that, since the application.properties and application.yml files accept Spring style placeholders (${…}),
the Maven filtering is changed to use @..@ placeholders.
(You can override that by setting a Maven property called resource.delimiter.)
翻译过来就是:
注意,由于 application.properties 和 application.yml 文件接受 spring 样式的占位符(${…}),所以 maven filter 将更改为使用@…@占位符。(可以通过设置名为 resource.delimiter 的 maven 属性来覆盖该属性。)
我们可以看spring-boot-starter-parent里的pom.xml,里面配置了资源分隔符插件,因此如果有需求可以自己覆盖掉

最终成功了

值得注意的是我刚这么配置还报错了:
Caused by: org.yaml.snakeyaml.scanner.ScannerException:
while scanning for the next token found character '@' that cannot start any token.
(Do not use @ for indentation)
然后大佬说可能是pom文件修改却没有触发自动重写载入,需要手动强制更新依赖,于是我clean之后reimport就解决了问题:


如果有兴趣了解更多相关内容,欢迎来我的个人网站看看:瞳孔的个人空间
博主遇到Spring Boot应用配置不生效的问题,按照黑马程序员教程无果。经大佬指点,发现Maven过滤器使用了错误的占位符,官方推荐使用@...@。修改后仍报错,原来是POM文件修改未触发自动重载,通过clean和reimport解决问题。博客分享了解决过程。
1420

被折叠的 条评论
为什么被折叠?



