SpringBoot中如何解决读取properties文件读取问题

 更新时间:2022年07月08日 10:23:46   作者:黯ゞ淡  
这篇文章主要介绍了SpringBoot中如何解决读取properties文件读取问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

如何解决读取properties文件读取问题

问题描述

今天在springboot项目架构中,测试读取properties配置文件出现了两个问题:

  • 路径设置
  • 中文乱码

路径设置

解决思路是使用org.springframework.core.io下的ClassPathResource类获取流对象,然后使用properties进行读取

中文乱码

将从ClassPathResource中获取的流对象转换为BufferReader对象

public static void main(String[] args) throws IOException {
        Properties properties = new Properties();
        ClassPathResource classPathResource = new ClassPathResource("ProducerQuickStart.properties");
        InputStream inputStream = classPathResource.getInputStream();
        InputStreamReader inputStreamReader = new InputStreamReader(inputStream,"utf-8");
        BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
        properties.load(bufferedReader);
        Set<Object> keySets = properties.keySet();
        Iterator<Object> iterator = keySets.iterator();
        while (iterator.hasNext()){
            Object obj = iterator.next();
            System.out.println("键:"+obj+"   值:"+properties.get(obj));
        }
    }

读取指定properties文件

设置配置属性类型

/**
 * 自定义配置属性类
 * @author ZH_FTP
 *
 */
@Component
//springboot 管理
@ConfigurationProperties(prefix = "validity")
//键值前缀
@PropertySource(value = {"classpath:/config/baseproperties.properties"}, encoding = "utf-8")
// 配置文件路径 解码方式
public class BaseProperties {
    private static final int INT_ZERO = 0;
    @Value("${validity.of.captcha}")
    private Integer validityOfCaptcha;//验证码有效时间
    public Integer getValidityOfCaptcha() {
        return validityOfCaptcha;
    }
    public void setValidityOfCaptcha(Integer validityOfCaptcha) {
        this.validityOfCaptcha = validityOfCaptcha;
    }
}

配置文件

在工程 /src/main/resources/config/baseproperties.properties 文件类型 配置信息 方便配置类读取

validity.of.captcha=120

读取配置文件就完成了,可以通过springboot 自动注入使用了

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。 

相关文章

  • 使用FeignClient设置动态Url

    使用FeignClient设置动态Url

    这篇文章主要介绍了使用FeignClient设置动态Url方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-06-06
  • Java web的读取Excel简单实例代码

    Java web的读取Excel简单实例代码

    下面小编就为大家带来一篇Java web的读取Excel简单实例代码。小编觉挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-06-06
  • Java Web Filter 过滤器学习教程(推荐)

    Java Web Filter 过滤器学习教程(推荐)

    Filter也称之为过滤器,它是Servlet技术中最激动人心的技术.这篇文章主要介绍了Java Web Filter 过滤器学习教程的相关资料,需要的朋友可以参考下
    2016-05-05
  • SpringBoot登录拦截配置详解(实测可用)

    SpringBoot登录拦截配置详解(实测可用)

    这篇文章主要介绍了SpringBoot登录拦截配置详解(实测可用),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • Java程序控制逻辑—流程控制

    Java程序控制逻辑—流程控制

    这篇文章主要介绍了Java程序的控制逻辑流程控制,流程控制中最基本的就是条件执行,也就是说,一些操作只能在某些条件满足的情况下才执行,在一些条件下执行某种操作,在另外一些条件下执行另外的操作,需要的朋友可以参考一下
    2022-01-01
  • java中Scanner输入用法实例

    java中Scanner输入用法实例

    Java的Scanner用法,主要用于算法笔试时的控制台输入,下面这篇文章主要给大家介绍了关于java中Scanner输入用法的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-09-09
  • 使用JavaSE来模拟斗地主

    使用JavaSE来模拟斗地主

    这篇文章主要介绍了使用JavaSE来模拟斗地主,对棋牌游戏有研究的同学可以参考一下
    2021-04-04
  • springSecurity之AuthenticationProvider用法解析

    springSecurity之AuthenticationProvider用法解析

    这篇文章主要介绍了springSecurity之AuthenticationProvider用法解析,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-03-03
  • MyBatis-Plus中最简单的查询操作教程(Lambda)

    MyBatis-Plus中最简单的查询操作教程(Lambda)

    这篇文章主要给大家介绍了关于MyBatis-Plus中最简单的查询操作的相关资料,文中通过实例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2022-03-03
  • SpringBoot深入分析运行原理与功能实现

    SpringBoot深入分析运行原理与功能实现

    我们发现springBoot程序开发比spring程序编写起来容易的多。配置简洁,依赖关系简单,启动运行容易。那么结下了我们我们就要思考一下入门程序中的这些功能是怎么实现的
    2022-09-09

最新评论