项目中防止硬编码,经常会将一些与业务相关的数据存在properties文件中,根据不同的key加载不同的数据,所以就会有读取properties文件的东西,这篇文章仅为了以后copy方便写的。

1.添加依赖:

<!-- https://mvnrepository.com/artifact/commons-configuration/commons-configuration -->
<dependency>
<groupId>commons-configuration</groupId>
<artifactId>commons-configuration</artifactId>
<version>1.10</version>
</dependency>

2.properties工具类编写

ps:代码中的日志用的是LomBok jar中的东西,人懒,就这样

<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.18</version>
</dependency>
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.configuration.Configuration;
import org.apache.commons.configuration.PropertiesConfiguration; /**
* @ClassName PropertiesUtil
* @Description <读取properties文件信息>
* @Author zhaiyt
* @Date 2018/9/23 15:15
* @Version 1.0
*/
@Slf4j
public class PropertiesUtil { public static Configuration config = null; static {
try {
config = new PropertiesConfiguration("configPro/test.properties");
} catch (Exception e) {
log.error("获取配置的属性失败:", e);
}
} /**
* @Description <返回字符串的属性值,没有对应的key时返回null>
* @Author zhaiyt
* @Date 15:40 2018/9/23
* @Param [key]
* @return java.lang.String
**/
public static String getPropertiesStr(String key) {
return config.getString(key);
} /**
* @Description <返回数字型的属性值>
* @Author zhaiyt
* @Date 15:40 2018/9/23
* @Param [key]
* @return int
**/
public static int getPropertiesNum(String key) {
try {
return config.getInt(key);
} catch (Exception e) {
log.error(e.getMessage());
return -1;
} } /**
* @Description <返回布尔型的属性值>
* @Author zhaiyt
* @Date 15:40 2018/9/23
* @Param [key]
* @return java.lang.Boolean
**/
public static Boolean getPropertiesBoolean(String key) {
try {
return config.getBoolean(key);
} catch (Exception e) {
log.error("返回布尔型的属性值:", e);
return false;
}
} /**
* @Description <test>
* @Author zhaiyt
* @Date 15:41 2018/9/23
* @Param [args]
* @return void
**/
public static void main(String[] args) {
String filename = getPropertiesStr("FILENAME");
System.out.println(filename);
} }

3.写完了可以测试下,resources目录下创建configPro文件夹,创建properties文件,存几条数据试试



properties文件读取工具类的更多相关文章

  1. properties文件读写工具类

    java代码: import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; ...

  2. Java-Properties文件读取工具类

    import org.apache.commons.configuration.ConfigurationException; import org.apache.commons.configurat ...

  3. 文件读取工具类读取properties文件

    1.创建工具类 import java.io.IOException; import java.util.Properties; /** * * 类名称:PropertiesUtil * 类描述: 文 ...

  4. 【代码】ini 文件读取工具类

    using System; using System.Runtime.InteropServices; using System.Text; namespace hrattendance.Common ...

  5. XML文件读取工具类

    /// <summary> /// Author: jiangxiaoqiang /// </summary> public class XmlReader { //===== ...

  6. properties文件读写工具类PropertiesUtil.java

    import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import ...

  7. FileUtils删除文件的工具类

    前提是知道文件在哪个文件夹下面然后到文件夹下面删除文件,如果文件夹也需要传参数需要对下面方法进行改造. ( 需要借助于commons-io.jar和ResourceUtils.java  ) 1.De ...

  8. SpringMVC中properties文件读取

    SpringMVC给我们提供了用于properties文件读取的类: org.springframework.context.support.ResourceBundleMessageSource 1 ...

  9. 【Spring源码分析】.properties文件读取及占位符${...}替换源码解析

    前言 我们在开发中常遇到一种场景,Bean里面有一些参数是比较固定的,这种时候通常会采用配置的方式,将这些参数配置在.properties文件中,然后在Bean实例化的时候通过Spring将这些.pr ...

随机推荐

  1. UART简介及与COM口的区别

    原帖地址:https://blog.csdn.net/jirryzhang/article/details/70084743 https://www.cnblogs.com/smartjourneys ...

  2. C# ExecutionContext 实现

    网上关于ExecutionContext的说明比较少,我们来看看微软的描述吧,   名称 说明 Capture() 捕获从当前线程的执行上下文. CreateCopy() 创建当前执行上下文的副本. ...

  3. js-工具函数

    /** * 将文件大小转换成 ['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'],单位 * @param bytes * @returns */ ...

  4. 让Linux系统开机速度更快的方法

    进行 Linux 内核与固件开发的时候,往往需要多次的重启,会浪费大把的时间. 在所有我拥有或使用过的电脑中,启动最快的那台是 20 世纪 80 年代的电脑.在你把手从电源键移到键盘上的时候,BASI ...

  5. Numba加速Python程序

    众所周知,Python和Java一样是基于虚拟机的语言,并不是像C/C++那样将程序代码编译成机器语言再运行,而是解释一行执行一行,速度比较慢.使用Numba库的JIT技术编译以后,可以明显提高程序的 ...

  6. Linear SVM和LR的区别和联系

    首先,SVM和LR(Logistic Regression)都是分类算法.SVM通常有4个核函数,其中一个是线性核,当使用线性核时,SVM就是Linear SVM,其实就是一个线性分类器,而LR也是一 ...

  7. DEVOPS落地实践分享

    DEVOPS落地实践分享 转载本文需注明出处:微信公众号EAWorld,违者必究. 引言: DevOps的理念已经说了很多年,其带来的价值逐渐被接受,很多企业也逐渐引入了DevOps.目前普元DevO ...

  8. 使用viewport中的vm来适配移动端页面

    前言 作为一个小前端,经常要和H5打交道,这就面临着不同终端的适配问题. Flexible方案通过Hack手段来根据设备的dpr值相应改变<meta>标签中viewport的值,给我更贴切 ...

  9. ie11开发者模式打开空白

    Internet选项——高级——取消  禁用脚本调试(Internet explorpr)

  10. 查看安装的react-native和react版本

    转:http://blog.csdn.net/miss_ok/article/details/52777115 npm info React-native(目前是0.34.1) 知道最新版本后,通过以 ...