需求:写了一个工具类,但是工具类中的一些变量需要放到配置文件中,而这个工具类中的变量与方法都是静态的,这个时候我需要一个办法将配置文件中的相关配置读取过来赋值给这些静态变量。找了一些文章,试了一些方法,感觉比较好用的是一下

我的工具类ClientUtil,setConfigInfo()方法用来供读取配置文件的Config类调用来进行对静态变量赋值:

public class ClientUtil {

    private static String ENDPOINT;

    private static String ACCESS_KEY_ID;

    private static String ACCESS_KEY_SECRET;public static void setConfigInfo(TestConfig testConfig) {
ClientUtil.ENDPOINT = testConfig.getEndpoint();
ClientUtil.ACCESS_KEY_ID = testConfig.getAccessKeyId();
ClientUtil.ACCESS_KEY_SECRET = testConfig.getAccessKeySecret();
}
  ..............(省略具体的业务静态方法)...................
}

配置文件的内容application.yml:

test:
endpoint: http://oss-cn-hangzhou.aliyuncs.com
accessKeyId: test-key-id
accessKeySecret: test-key

专门写了一个读取配置文件的类TestConfig,使用@PostConstruct注解在服务器加载Servlet的时候运行init()方法,将读取来的配置信息赋值到util的静态变量中:

@Configuration
@Data
public class TestConfig {
@Value("${test.endpoint}")
private String endpoint; @Value("${test.accessKeyId}")
private String accessKeyId; @Value("${test.accessKeySecret}")
private String accessKeySecret; @PostConstruct
public void init(){
ClientUtil.setConfigInfo(this);
}
}

启动springboot,调用该工具类发现静态变量都已经读取了配置文件中的值。

SpringBoot 读取配置文件的值 赋给静态变量的更多相关文章

  1. spring 读取配置文件,将值注入到静态字段

    resources/config/config-dev.properties es.ip.node=xxxxxxxcluster.name=xxxxxxxclient.transport.sniff= ...

  2. SpringBoot读取配置文件源码探究

    1. SpringBoot读取配置文件源码探究 1.1. 概览 springboot的源码是再原来的Spring源码上又包了一层,看过spring源码都知道,当我们从入口debug进去的时候,原来的S ...

  3. springboot读取配置文件中的信息

    在一个项目中,我们有时候会把一些配置信息写入到一个配置文件中,在java代码中读取配置文件的信息.在此记录下读取属性文件中的内容. 在springboot项目中,springboot的配置文件可以使用 ...

  4. list— 把数组中的值赋给一组变量

    (PHP 4, PHP 5, PHP 7) list — 把数组中的值赋给一组变量 array list ( mixed $var1 [, mixed $... ] ) 像 array() 一样,这不 ...

  5. Linux使用技巧:linux下将命令值赋给shell变量

    很多小伙伴在写shell脚本的时候需要把命令输出的值赋给一些变量,使得脚本在运行过程中能够顺利使用这些变量.例如:很多时候我们就需要获取当前目录的绝对路径,pwd这个命令大家在熟悉不过,可是要把这个命 ...

  6. 在tomcat启动时解析xml文件,获取特定标签的属性值,并将属性值设置到静态变量里

    这里以解析hibernate.cfg.xml数据库配置信息为例,运用dom4j的解析方式来解析xml文件. 1.在javaWeb工程里新建一个java类,命名为GetXmlValue.java,为xm ...

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

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

  8. springboot读取配置文件赋值给静态变量

    1.实现InitializingBean接口,重写afterPropertiesSet方法,将@Value赋值给成员变量的属性赋值给静态变量,示例如下: /** * @Classname FileUt ...

  9. SpringBoot读取配置文件的内容

    1.@Value读取 在springboot项目中,如果要读取配置文件application.properties或application.yml文件的内容,可以使用自带的注解@Value.以prop ...

随机推荐

  1. 自己定义控件-仿iphone之ToggleButton&VoiceSeekBar

    由于项目中须要使用开关切换button,和声音滑动控件,可是原生Android5.0版本号以下的控件实在是太挫了.尽管网上已经有非常多关于这两个控件的blog.可是我实在是找不到像iPhone这样简洁 ...

  2. HotSpotVM 线程实现浅析

    今天来看下HotSpotVM在Linux下的线程模型. Thread.start HotSpot Runtime Overview 中说道, There are two basic ways for ...

  3. 【数据结构】链式向前星知识点&代码

    代码: struct NODE{ int to; int nxt; int c; }node[MM];//链式向前星 ; void add(int a,int b,int c){ node[lcnt] ...

  4. Codeforces--630H--Benches(组合数)

    H - Benches Crawling in process... Crawling failed Time Limit:500MS     Memory Limit:65536KB     64b ...

  5. E20170821-mk

    Dimension   n. 尺寸; [复] 面积,范围; [物] 量纲; [数] 次元,度,维;

  6. Power Network(最大流(EK算法))

    http://poj.org/problem?id=1459 题意:有一个电路网络,每个节点可以产生.传递.消耗若干电量,有点线连接结点,每个电线有最大传输量,求这个网络的最大消费量. 思路:从源点到 ...

  7. bzoj 1503郁闷的出纳员(splay)

    1503: [NOI2004]郁闷的出纳员 Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 11759  Solved: 4163[Submit][Stat ...

  8. 原生JS---5

    原生js学习笔记5——BOM操作 什么是BOM BOM:Browser Object Model 是浏览器对象模型,浏览器对象模型提供了独立与内容的.可以与浏览器窗口进行互动的对象结构,BOM由多个对 ...

  9. struts2框架搭建(一)

    struts2是一个基于mvc的web应用框架.struts2本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器层(Controller)来建立模型与视图的数据交互. str ...

  10. 在64位WindowsServer2012R2中安装Oracle10g第二版(10.2.0.4.0)-20160106

      1.操作系统版本 用于安装数据库的操作系统镜像文件名为:cn_windows_server_2012_r2_vl_with_update_x64_dvd_6052729.iso 安装DataCen ...