springboot在静态类中引入properties 的值

1、dev.properties 的font.config.path值传入静态 类中

server.port=9001
debug=false
logging.level.root=warn
logging.level.tk.mybatis.spring.mapper=trace
#logging.path=${user.dir}/logs/
#todo logger 的info信息没有写入文件 ,文件大小没有设置
logging.file=test.log

# 多文件上传最大大小
spring.servlet.multipart.max-request-size=200MB
# 单文件上传最大大小
spring.servlet.multipart.max-file-size=50MB

#file.dest.path=D:/dev/TSC/test_data/
file.dest.path=${user.dir}//DataFile//
#file.dest.path=${basedir}
#用户权限时长配置文件
user.config.path=${user.dir}//tsc-common//src//main//resources//userConfig.txt
# 字体包路径
font.cofig.path=${user.dir}//tsc-common//src//main//resources//font//
#user.config.path=${user.dir}\\tsc-common\\src\\main\\resources\\userConfig.txt

2、注入bean 管理  GlobalConfig.java类:使用@Component 注解,将值set给另外一个静态 成员,(注,使用静态测试方法,还是提示null,但启动 MainApplication 项目,会成功 >>> 错误:由于加了@Component注解,交由spring管理了,所以静态类中的测试方法是不能取到值的(null))

//package com.swjtu.tsc.service.controllers;


import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource;
import org.springframework.stereotype.Component;

@Configuration
@PropertySource("classpath:application-dev.properties")
@ConfigurationProperties(prefix = "font")
@Component
public class GlobalConfig {

    public static String FONT_CONFIG_PATH;

    @Value("${font.cofig.path}")
    public void setUsernam(String sERVER_IP) {
        FONT_CONFIG_PATH = sERVER_IP;
    }

  public static  void  main(String[] rag){
  String s = FONT_CONFIG_PATH; // 这样测试还是为null
  System.out.println(s);
}
}

  

3、test.java类静态方法getFontPath: 在启动项目后能获取到 dev-properties 的font.cofig.path值

public class test(){

public static void getFontPath(){

String fontpath= GlobalConfig.FONT_CONFIG_PATH;
 System.out.println("字体路径= "+fontpath);
}
}

  

posted @ 2019-12-12 13:44  my——master  阅读(3290)  评论(0编辑  收藏  举报