@Value("${meeting.private_key}")
public static String PRIVATE_KEY;

发现没有数据,null

分析

Spring是不能直接在static变量上使用@value为其注入值的,因为Spring的依赖注入是依赖setter方法,setter方法是属于对象的,而static变量是属于类的。

方式一

再声明一个实例变量,将@Value移到该实例变量上,再加一个@PostConstruct注解的方法,方法内将该实例变量的值赋给静态变量。

    public static String PRIVATE_KEY;
@Value("${meeting.private_key}")
private String loginUrl;
@PostConstruct
public void init() {
PRIVATE_KEY = this.loginUrl;
}
@GetMapping("getkey")
public String getkey() {
System.out.println(PRIVATE_KEY);
return PRIVATE_KEY;
}

臃肿..不理想

方式二(推荐)

再加一个有@Value注解的就一个参数的方法,方法内将参数值赋给静态变量。

    public static String PRIVATE_KEY;

    @Value("${meeting.private_key}")
public void setloginUrl(String loginUrl) {
PRIVATE_KEY =loginUrl;
}
@GetMapping("getkey")
public String getkey() {
System.out.println(PRIVATE_KEY);
return PRIVATE_KEY;
}

另外尝试过直接加@Data在类上不好使...

spring中使用@value注入static静态变量的更多相关文章

  1. Spring不支持依赖注入static静态变量

    在springframework里,我们不能@Autowired一个静态变量,使之成为一个spring bean,例如下面这样: 可以试一下,yourClass在这种状态下不能够被依赖注入,会抛出运行 ...

  2. Spring它不支持依赖注入static静态变量

    在springframework在,我们不能@Autowired静态变量,制作spring bean,例如,没有那么: @Autowired private static YourClass your ...

  3. 将springboot配置文件中的值注入到静态变量

    SpringBoot配置文件分为.properties和.yml两种格式,根据启动环境的不同获取不同环境的的值. spring中不支持直接注入静态变量值,利用spring的set注入方法注入静态变量 ...

  4. PHP之static静态变量详解(一)

    什么是static静态变量?(以下为在C语言中的理解) 静态变量 类型说明符是static. 静态变量属于静态存储方式,其存储空间为内存中的静态数据区(在静态存储区内分配存储单元),该 区域中的数据在 ...

  5. C#中static静态变量的用法

    使用 static 修饰符声明属于类型本身而不是属于特定对象的静态成员static修饰符可用于类.字段.方法.属性.运算符.事件和构造函数,但不能用于索引器.析构函数或类以外的类型 静态全局变量 定义 ...

  6. [转] C# 中的static静态变量

    logitechyan原文关于C#中static静态变量 C#静态变量使用static 修饰符进行声明,在类被实例化时创建,通过类进行访问不带有 static 修饰符声明的变量称做非静态变量,在对象被 ...

  7. 关于C#中static静态变量

    C#静态变量使用static 修饰符进行声明,在类被实例化时创建,通过类进行访问不带有 static 修饰符声明的变量称做非静态变量,在对象被实例化时创建,通过对象进行访问一个类的所有实例的同一C#静 ...

  8. C#中的static静态变量的用法

    静态全局变量 定义:在全局变量前,加上关键字 static 该变量就被定义成为了一个静态全局变量. 特点: A.该变量在全局数据区分配内存. B.初始化:如果不显式初始化,那么将被隐式初始化为0. 静 ...

  9. php中的static静态变量

    今天碰到了一个php的小试题,一直没有明白为什么第三次循环是static静态变量没有起作用呢?想了好久才明白原理. <?php class MyClass{ function add($b){ ...

随机推荐

  1. Java课堂测试1第三阶段

    package sizeyunsuan;//import java.util.Scanner;//import java.util.Random;import java.util.*; public ...

  2. 基本的bash shell命令

    目录 基本的bash shell命令 启动shell shell提示符 基本的bash shell命令 启动shell GNU bash shell 能提供对Linux系统的交互式访问.它是作为普通程 ...

  3. web全栈后台权限管理系统(VUE+ElementUi+nodeJs+koa2)

    web全栈后台权限管理系统(VUE+ElementUi+nodeJs+koa2) 主要技术 前端 vue 全家桶 ElementUI 后端 Node.js Koa2 Mongoess 数据库 mong ...

  4. Flink Sql 之 Calcite Volcano优化器(源码解析)

    Calcite作为大数据领域最常用的SQL解析引擎,支持Flink , hive,  kylin , druid等大型项目的sql解析 同时想要深入研究Flink sql源码的话calcite也是必备 ...

  5. Java泛型背后是什么?

    文Java中泛型的应用,让大家更好地理解泛型,以及常说的泛型类型擦除是什么概念,举一个简单的例子,如下: 这里可以看出来在代码编写阶段就已经报错了,不能往string类型的集合中添加int类型的数据. ...

  6. JAVA String、StringBuffer、StringBuilder类解读

    JAVA String.StringBuffer.StringBuilder类解读 字符串广泛应用 在 Java 编程中,在 Java 中字符串属于对象,Java 提供了 String 类来创建和操作 ...

  7. 第六次Scrum Metting

    日期:2021年5月3日 会议主要内容概述:讨论前后端进度,前端各模块对接以及前后端对接. 一.进度情况 组员 负责 两日内已完成的工作 后两日计划完成的工作 工作中遇到的困难 徐宇龙 后端 数据模块 ...

  8. OO第三单元

    OO第三单元 JML语言理论基础,应用工具链 JML语言基础 JML简介 定义: JML 是一种形式化的. 面向 JAVA 的行为接口规格语言 作用: 开展规格化设计.这样交给代码实现人员的将不是可能 ...

  9. Linux入门必须养成的七大习惯

    对于很多Linux初学者来说,在刚开始使用linux系统时会感到很多的不适.这里为大家整理了自己以前linux入门时别人告诉我的七个习惯.我相信如果你运用了这七个习惯,在你使用Linux时你会感觉更安 ...

  10. series和读取外部数据

    1.为什么学习pandas 我们并不是不愿意学习新的知识,只是在学习之前我们更想知道学习他们能够帮助我们解决什么问题.--伟哥 numpy虽然能够帮助我们处理数值,但是pandas除了处理数值之外(基 ...