自定义工具类PropertyUtil,并在该类的static静态代码块中读取properties文件内容保存在static属性中以供别的程序使用
- package com.hafiz.www.util;
- import org.slf4j.Logger;
- import org.slf4j.LoggerFactory;
- import java.io.*;
- import java.util.Properties;
- /**
- * Desc:properties文件获取工具类
- * Created by hafiz.zhang on 2016/9/15.
- */
- public class PropertyUtil {
- private static final Logger logger = LoggerFactory.getLogger(PropertyUtil.class);
- private static Properties props;
- static{
- loadProps();
- }
- synchronized static private void loadProps(){
- logger.info("开始加载properties文件内容.......");
- props = new Properties();
- InputStream in = null;
- try {
- <!--第一种,通过类加载器进行获取properties文件流-->
- in = PropertyUtil.class.getClassLoader().getResourceAsStream("jdbc.properties");
- <!--第二种,通过类进行获取properties文件流-->
- //in = PropertyUtil.class.getResourceAsStream("/jdbc.properties");
- props.load(in);
- } catch (FileNotFoundException e) {
- logger.error("jdbc.properties文件未找到");
- } catch (IOException e) {
- logger.error("出现IOException");
- } finally {
- try {
- if(null != in) {
- in.close();
- }
- } catch (IOException e) {
- logger.error("jdbc.properties文件流关闭出现异常");
- }
- }
- logger.info("加载properties文件内容完成...........");
- logger.info("properties文件内容:" + props);
- }
- public static String getProperty(String key){
- if(null == props) {
- loadProps();
- }
- return props.getProperty(key);
- }
- public static String getProperty(String key, String defaultValue) {
- if(null == props) {
- loadProps();
- }
- return props.getProperty(key, defaultValue);
- }
- }
说明:这样的话,在该类被加载的时候,它就会自动读取指定位置的配置文件内容并保存到静态属性中,高效且方便,一次加载,可多次使用。
总结
以上所述是小编给大家介绍的Java使用application.property配置文件里面的值,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对w3xue网站的支持!