Springboot 如何指定获取自己写的配置properties文件的值

网友投稿 687 2022-12-25

Springboot 如何指定获取自己写的配置properties文件的值

Springboot 如何指定获取自己写的配置properties文件的值

获取yml的可以参考这篇:

Springboot 指定获取出 yml文件里面的配置值

jb51-/article/217901.htm

直接进入正题:

先创建一个 配置文件test_config.properties:

test.number=123456789

接下来获取test.number对应的值

这里我们采取最直接的方式(也可以通过注解获取),特意准备了个工具类 PropertiesUtil.java :

package com.test.webflux.util;

import org.slf4j.Logger;

import org.slf4j.LoggerFactory;

import org.springframework.util.StringUtils;

import java.io.IOException;

import java.io.InputStreamReader;

import java.util.Properties;

/**

* 配置文件读取

*

* @Author: JCccc

* @Des: ElegantDay

*/

public class PropertiesUtil {

private static Logger log = LoggerFactory.getLogger(PropertiesUtil.class);

private static Properties props;

//项目根目录文件夹内读取

// static {

// if (props == null) {

// props = new Properties();

// try {

// props.load(new FileInputStream("/testDemo/config/test_config.properties"));

// } catch (IOException e) {

// log.error("配置文件读取异常", e);

// }

// }

// }

//resource文件夹内读取

static {

String fileName = "test_config.properties";

props = new Properties();

try {

props.load(new InputStreamReader(PropertiesUtil.class.getClassLoader().getResourceAsStream(fileName), "UTF-8"));

} catch (IOException e) {

log.error("配置文件读取异常", e);

}

}

/**

* 根据配置文件中的key获取value

* @param key

* @return

*/

public static String getProperty(String key) {

String value = props.getProperty(key.trim());

if (StringUtils.isEmpty(value)) {

return null;

}

return value.trim();

}

/**

* 根据配置文件中的key获取value (当获取不到值赋予默认值)

* @param key

* @param defaultValue

* @return

*/

public static String getProperty(String key, String defaultValue) {

String value = props.getProperty(key.trim());

if (StringUtils.isEmpty(value)) {

value = defaultValue;

}

return value.trim();

}

public static void main(String[] args) {

System.out.println("配置文件中有key&value:"+PropertiesUtil.getProperty("test.number"));

System.out.println("配置文件无有key&value,赋予默认值"+PropertiesUtil.getProperty("test.numberNone","默认值 JCccc"));

}

}

OK,测试下工具类的main方法

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:flutter页面滚动(flutter 滚动布局)
下一篇:微信小程序跳转第三方app(微信小程序跳转第三方h5违规吗)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~