场景: 工具类单例模式,实例化时根据不同环境从.properties或.yml中动态取值

问题解析: Java 中 static/final 修饰的变量,通过 @Value 是获取不到值的

解决方案:

  1. 在变量 setter方法上使用 @Value
package com.xx.utils.config;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
@Component
public class AConfig {public static String url;public static String appkey;@Value("${xxx.url}")public void setUrl(String url) {AConfig.url = url;}@Value("${xxx.appkey}")public void setAppkey(String appkey) {AConfig.appkey = appkey;}
}
  1. 中间非静态变量赋值
package com.xx.utils.config;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
@Component
public class AConfig {public static String url;@Value("${xxx.url}")private String url1;public static String appkey;@Value("${xxx.appkey}")private String appkey1;@PostConstructpublic void init() {url = url1;appkey = appkey1;}
}

总结: 两种解决方案都是间接的通过非 static 的变量获取到值,从而拿到配置文件中的值;但两种方法中都需要在类上加上@Component。

Java使用@Value获取不到值相关推荐

  1. java enum getname_Java获取给定Enum值的Enum名称

    Java获取给定Enum值的Enum名称 给定值,如何获取Java Enum类型的名称? 我有以下适用于特定Enum类型的代码,我可以使其更通用吗? public enum Category { AP ...

  2. java中怎么获取配置文件的值_java如何获取配置文件的值

    转: 原创 编码小王子 发布于2018-10-11 18:07:52 阅读数 2722 收藏 展开 java大型项目中都会很多系统常量,比如说数据库的账号和密码,以及各种token值等,都需要统一的管 ...

  3. java hashmap 随机_有没有办法在Java中随机获取HashMap的值?

    你可以使用像: Random generator = new Random(); Map.Entry[] entries = myHashMap.entrySet().toArray(); rando ...

  4. Java获取图片RGB值

    前言 图片对比获取坐标的方法很多,我选择了比较简单的方法:对比rgb值.要想对比rgb值,就得先获取图片的rgb值.运用的是BufferedImage里的getRGNB方法. 解决方案 首先用.get ...

  5. JAVA中获取文件MD5值的四种方法

    JAVA中获取文件MD5值的四种方法其实都很类似,因为核心都是通过JAVA自带的MessageDigest类来实现.获取文件MD5值主要分为三个步骤,第一步获取文件的byte信息,第二步通过Messa ...

  6. java求30度的正弦值_获取Java中给定值的双曲正弦值

    为了获取Java中给定值的双曲正弦值,我们使用java.lang.Math.sinh()方法.该sinh()方法接受一个以弧度为单位的参数,并返回该参数的双曲正弦值作为角度. 声明-java.lang ...

  7. Java如何遍历获取对象中的所有属性和值

    当我们需要对对象的所有值进行遍历的时候,依次进行get.set方法非常的麻烦,这个时候我们就会用到对象属性和值的遍历,应用代码如下 // voucher是目标对象 try{//通过getDeclare ...

  8. java高效获取内部类属性值_Java高级特性:内部类

    内部类是什么 内部类是指在一个外部类的内部再定义一个类.内部类作为外部类的一个成员,并且依附于外部类而存在的.内部类可为静态,可用protected和private修饰(而外部类只能使用public和 ...

  9. Java 获取文件md5值校验文件

    假如我们想校验两个文件网络传输中是否改变了,或者校验两个文件是否一致可以使用md5校验. 代码: import java.io.FileInputStream; import java.io.Inpu ...

最新文章

  1. 手绘风格的数据可视化 Sketchify,让你的图表也萌萌哒
  2. Spring相关API-getBean()方法的使用
  3. 软工实践项目课程的自我目标
  4. @codeforces - 786E@ ALT
  5. 《TensorFlow 2.0深度学习算法实战教材》学习笔记(五、神经网络)
  6. Capture One如何创建和应用样式和预设?
  7. 陈纪修老师《数学分析》 第04章:微分 笔记
  8. 光伏并网系统的谐波分析
  9. ae批量修改字体_AE脚本pt_TextEdit v2.5批量修改文字图层样式字体大小属性编辑工具...
  10. 计算机管理员没有权限删除,答疑:没有管理员权限,无法删除文件?-删除文件...
  11. Word文件没有保存怎么找回来?恢复文件
  12. Eighth Week's ARST
  13. c++小游戏 走迷宫
  14. 【离散数学】平凡子群
  15. 论文解读:预测lncRNA的相互作用生物分子类型:一种集成深度学习方法
  16. 无人驾驶感知篇之传感器标定(二)
  17. 06 java GUI 网络编程:图形界面聊天室
  18. ZT:【ROOT教程】S7/S7E 8890版root及替换recovery中文教程
  19. 黄河科技学院计算机等级考试成绩查询,全国计算机等级考试成绩查询汇总
  20. 2018年中国光学镜头行业发展现状及发展趋势分析【图】

热门文章

  1. 哔哩哔哩2021校招末班车来了!
  2. H3C无线AC+AP配置2—有密码登录
  3. UWB的定位算法(简单详细易懂)
  4. TOP 1比不加TOP慢的疑惑
  5. 南京大学《软件分析》课程课后作业(非Bamboo)
  6. a360desktop有用吗_A360 Desktop 停用 - 2018 年 6 月 19 日
  7. Java图形化界面编程超详细知识点(10)——Swing_表格
  8. C语言标题下面程序用于输入三角形的三条边a,b,c,判断它们能否构成三角形,若能,则指出是何种三角形:等腰三角形、直角三角形、等腰直角三角形,一般三角形。若不能,则输出“不是三角形\n”
  9. 优达学城 深度学习 任务1
  10. m语言 东华his_M语言