项目中防止硬编码,经常会将一些与业务相关的数据存在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文件,存几条数据试试