echo编辑整理,欢迎转载,转载请声明文章来源。欢迎添加echo微信(微信号:t2421499075)交流学习。 百战不败,依不自称常胜,百败不颓,依能奋力前行。——这才是真正的堪称强大!!!


该问题的出现方式很多,我碰到该问题的场景是使用RMQ,在使用RMQ是,创建了一个生产者,配置了很多方案都没有办法读取到值

使用技术

SpringBoot + RMQ

出问题的地方

创建了一个生产者,生产者的地址和topic都配置到了properties中,以键值对的形式存在。

关键代码

public class producer{@Value(${"toppic"})
private String topic;@Value(${"address"})
private String address;private void send(){}
……
}// 调用代码
Producer p = new Producer();
p.send()

尝试的方式:

  • 1、第一种方式:对topic加上static
  • 2、第二种方式:将topic加上get/set
  • 3、第三种方式:加上@Compement

但是都没用

解决方案:调用代码删除掉new 对象操作,使用@autowrite注入,然后用注入对象直接调用send().

出现这个问题的原因

该生产者对象,在SpringBoot启动到时候已经被加载了,@Value在启动的时候已经读取到了值,加载出来的对象和值都存放在了SpringBoot容器当中,当我们使用new 操作的时候,就重置了一个对象,并没有使用容器当中的对象,自然没有办法直接读取配置文件,所以使用send()的时候,直接在使用空值,所以一直读取不到。

总结

注意调用方式、观察@Value是否有被初始化、了解bean的加载和配置的加载流程

SpringBoot中@Value读取不到值的解决方案相关推荐

  1. linux中popen汉字乱码,Python中使用subprocess.Popen返回值乱码解决方案

    Python中使用subprocess.Popen返回值乱码解决方案 问题描述 在python 2.7中,使用subprocess.Popen()调用*nix命令,并通过管道,获取其输出,并将其返回值 ...

  2. 【问题解决】Springboot中@Value()读取不到配置文件属性解决方法

    在项目中遇到一个问题就是类中的定义好的@Value始终读取不到配置文件的定义的值,检查了多次后发现自己配置也没问题,却很玄乎仍然读取不到,大概是这样的: properties文件 daas_clien ...

  3. Springcloud config client中@Value读取不到值的问题

    Springcloud config client中读取不到configserver的值/@Value失效(基于Springboot2.4.1+Springcloud2020.0) 检查了bootst ...

  4. Python中,读取excel公式值,结果为None的解决办法

    openpyxl库可以非常方便的处理xlsx文件,但是这个库修改过xlsx文件之后,如果再次用openpyxl打开该文件,会发现无法获取到公式的计算结果,即可以获取到公式,但是无法获取公式结果,返回一 ...

  5. springboot中得注解_Spring以及SpringBoot中的常用的注解小结

    一.注解的基本概念 Annotation(注解)就是Java提供了一种元程序中的元素关联任何信息和着任何元数据(metadata)的途径和方法.Annotion(注解)是一个接口,程序可以通过反射来获 ...

  6. springboot中使用@Value读取配置文件

    转自:https://www.cnblogs.com/duanxz/p/4520627.html springboot中使用@Value读取配置文件 一.配置文件配置 直接配置 在src/main/r ...

  7. SpringBoot中通过@Value获取自定义配置的值

    场景 在SpringBoot项目中的application.properties中定义变量,要在 controller中获取自定义配置的值. 实现 打开 application.properties ...

  8. java参数值注入_在springboot中使用注解将值注入参数的操作

    后端的许多管理系统需要登陆者的信息,如shiro登陆后,会将登陆者的信息存储在shiro的session,在使用时需要多行代码获取用户信息.可以把获取在shiro中的登陆者信息封装在一个类中,使用时获 ...

  9. python怎么隔一个读取一个_Python实现中一次读取多个值的方法

    Python 2里面读取输入的函数是raw_input(), Python 3的是input(),读入一个值后回车读取输入就退出了,想要一次读取多个输入,可以像下面这样: a, b = raw_inp ...

最新文章

  1. Windows 10四大版本官方对比:国人肯定专业版
  2. arcgis 10.0中的server报错说工作站服务没有打开
  3. 欧几里得算法(即辗转相除法)的时间复杂度
  4. Python列出文件夹下某类文件名的方法
  5. ASP.NET MVC案例教程(基于ASP.NET MVC beta)——第三篇
  6. CVPR2019 oral 目标跟踪算法之SiamRPN++
  7. Spring : ImportBeanDefinitionRegistrar动态注入
  8. linux初次入门学习小结
  9. php表单验证代码实例,PHP表单验证实例代码-三体教程在线编辑器
  10. VIM之taglist
  11. 未公开接口主要指以下哪几类_办公家具配套主要有哪些家具-GAVEE家维依为您解答...
  12. 浅谈“异常信息泄露(应用程序错误)”
  13. php追加append,PHP ArrayObject append()用法及代码示例
  14. 面向对象系列(三)-抽象类的特点
  15. DPU — 完全可编程网络
  16. 信奥一本通2071题
  17. google earth的网页版
  18. 我听说网络工程师已成为IT人的最底层了?
  19. JSJ—案例谈面向对象
  20. sql-年度销售总额,拓展出对照表,排序表 ,日期排序表,日历表

热门文章

  1. 推荐一款全能的跨平台文档格式转换工具 Pandoc
  2. DIS和EIS(数码防抖和电子防抖)
  3. 经验分享:计算机专业求职面试,这 5 句自我介绍模板记好了!
  4. 一些常用的mysql语句实例-以后照写2
  5. 阿里云的ECS和AWS的EC2比较
  6. js 实现在当前页面打开新窗口
  7. 电脑相机出现0xA00F4289<ActiveCameraUnplugged>和0xA00F4244错误代码
  8. mysql 如何清理内存_mysql 记录一次内存清理
  9. 计算机无法检测到键盘,电脑无法识别键盘
  10. 计算机桌面没有打字,打字为什么电脑不显示出来怎么办