SpringBoot项目启动报错 Could not resolve placeholder ‘show.tips.text’ in value “${show.tips.text}”

导入的JAVA项目报错,如图
控制台报错情况
Error starting ApplicationContext. To display the conditions report re-run your application with ‘debug’ enabled.
2022-03-13 20:58:12.515 ERROR 11480 — [ restartedMain] o.s.boot.SpringApplication : Application run failed

org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘systemController’: Injection of autowired dependencies failed; nested exception is java.lang.IllegalArgumentException: Could not resolve placeholder ‘show.tips.text’ in value "${show.tips.text}"

注意这俩个加粗,它们交代了报错原因,出现这种情况一般有两种可能:
1.@Value("${xxxx}")配置在.properties或者.yml文件找不着。
2.有多个<context:property-placeholder />标签,像博客1号写的情况。
(记得检查group、@Service、8080端口等基础问题)

解决方法(全网各种汇总):

1. maven项目clean后install

maven项目clean

2. 找到@Value("${xxxx}")位置所在,重新手打注释

就是@Value和private两行重打一遍,比如我的报错代码在的位置src\main\java\controller\admin\systemController(就是上面加粗的这个systemController~)
报错具体位置

3. <context:property-placeholder location=“xxx” />只能有一个

所以在所以这个标签的后面,加上ignore-unresolvable=“true”,就是前面里写的博客1号,或者统一放在一个xml文件中,像博客2号这样。
2号

4. test包有引入的context:property-placeholder

如下博客3号
test问题

5. yml和propetie有区别,写法不同

博客4号
4号

6.放错位置导致的@Value("${xxxx}")配置报错

在.properties或者.yml文件找不着,像博客5号这样
写错位置

7. 使用其他注解方式

如下博客6号
注解方式

8. 在启动类或者.properties或者.yml文件或其他地方更改配置

(8.1)博客7号——启动类中添加Bean,让继续查找
启动类
(8.2)博客8号——将找不到的xxx配置添加到启动类
8号
(8.3)博客9号——在配置类上添加PropertySource主键
9号
(3.4)博客10号——右键 resources 将文件夹类型设为 resources root
10号

9.复杂到本JAVA新手看不懂的解决方案

如下博客10号
复杂方案

10.本人的解决方案——错误统统忽略

令人悲哀的是以上方法众多我全部都尝试了但都不行,于是我决定管他取得到值取不到值,哪里报错哪里就给忽略掉,于是在报错的代码后加了:DefaultValue

:DefaultValue

代码

以上汇总帖【完】

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐