`

ConfigUtil(配置文件加载操作)

    博客分类:
  • java
 
阅读更多

 

纯代码

第一步:配置好配置文件:

 

配置文件置于 框架的 src 下,命名为 application.properties

内容类似于:

Xml代码  收藏代码
  1. #oracle version database settings  
  2. #jdbc.driver=oracle.jdbc.driver.OracleDriver  
  3. #jdbcjdbc.url=jdbc:oracle:thin:@127.0.0.1:1521:space  
  4. #jdbc.username=space  
  5. #jdbc.password=space  
  6. #hibernate.dialect=org.hibernate.dialect.Oracle10gDialect  
  7. ###本应用数据库########################################################################  
  8. jdbc.driver=com.mysql.jdbc.Driver  
  9. jdbcjdbc.url=jdbc:mysql://127.0.0.1:3306/patientfriends?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true  
  10. jdbc.username=root  
  11. jdbc.password=root  
  12. hibernate.dialect=org.hibernate.dialect.MySQLDialect  
  13. #hibernate settings  
  14. hibernate.show_sql=true  
  15. hibernate.format_sql=false  
  16. #dbcp settings  
  17. dbcp.maxIdle=5  
  18. dbcp.maxActive=40  

 

里面存放框架中所有应该提取出的参数信息,比如:数据库连接信息,定时器时间戳,Email相关参数信息,图片宽高参数,URl,用户名密码等等。

 

第二步:编写 配置文件加载操作类 ConfigUtil

Java代码  收藏代码
  1. public class ConfigUtil {  
  2.       
  3.     private static PropertiesConfiguration  config=null;  
  4.     static{  
  5.         try{  
  6.             //config = new PropertiesConfiguration("app.properties");  
  7.             //config.setEncoding("UTF-8");  
  8.             //config.setHeader(header)  
  9.             config = new PropertiesConfiguration();  
  10.             config.setEncoding("UTF-8");  
  11.             config.load("application.properties");  
  12.               
  13.         }catch(Exception ex){  
  14.         }  
  15.     }  
  16.       
  17.       
  18.     public static int getIntValue(String key){  
  19.         int reInt = 1;  
  20.         try{  
  21.             //PropertiesConfiguration  config = new PropertiesConfiguration("conf.properties");  
  22.             reInt = config.getInt(key);  
  23.         }catch(Exception ex){  
  24.             ex.fillInStackTrace();  
  25.             reInt = 0;  
  26.         }  
  27.         return reInt;  
  28.     }     
  29.       
  30.     public static Long getLongValue(String key) {  
  31.         Long reLong = 1l;  
  32.         try{  
  33.             //PropertiesConfiguration  config = new PropertiesConfiguration("conf.properties");  
  34.             reLong = config.getLong(key);  
  35.         }catch(Exception ex){  
  36.             ex.fillInStackTrace();  
  37.             reLong = 0l;  
  38.         }  
  39.         return reLong;  
  40.     }  
  41.       
  42.       
  43.       
  44.     public static double getDoubleValue(String key){  
  45.         double reDouble = 1.0;  
  46.         try{  
  47.             //PropertiesConfiguration  config = new PropertiesConfiguration("conf.properties");  
  48.             reDouble = config.getDouble(key);  
  49.         }catch(Exception ex){  
  50.             ex.fillInStackTrace();  
  51.             reDouble =1.0;  
  52.         }  
  53.         return reDouble;  
  54.     }  
  55.       
  56.     public static String getStringValue(String key){  
  57.         String str = "";  
  58.         try{  
  59.             //PropertiesConfiguration  config = new PropertiesConfiguration("conf.properties");  
  60.             str = config.getString(key);  
  61.         }catch(Exception ex){  
  62.             ex.fillInStackTrace();  
  63.             str = "";  
  64.         }  
  65.         return str;  
  66.     }  
  67.       
  68.     public static Boolean getBooleanValue(String key) {  
  69.         Boolean flag = false;  
  70.         try{  
  71.             flag = config.getBoolean(key);  
  72.         }catch(Exception ex){  
  73.             ex.fillInStackTrace();  
  74.         }  
  75.         return flag;  
  76.     }  
  77.       
  78.     public static void save(String key,Object o){  
  79.         config.setProperty(key, o);  
  80.         try{  
  81.             //config.save("score.properties");  
  82.             config.save("application.properties");  
  83.             //config = new PropertiesConfiguration("app.properties");  
  84.             config = new PropertiesConfiguration();  
  85.             config.setEncoding("UTF-8");  
  86.             config.load("application.properties");  
  87.         }catch(Exception ex){  
  88.             ex.printStackTrace();  
  89.         }  
  90.     }  
  91.       
  92.     public static void main(String[] args){  
  93.         System.out.println("ewew");  
  94.         System.out.println(getIntValue("vip.money"));  
  95.         //ConfigUtil.save("rmb.money", 20);  
  96.         //ConfigUtil.save("month.live", "123334");  
  97.         System.out.println(ConfigUtil.getStringValue("month.live1"));  
  98.         //System.out.println(getStringValue("month.live"));  
  99.     }  
  100.       
  101.     // 读取配置文件  
  102.     private static ResourceBundle cache = null;  
  103.   
  104.     static {  
  105.         try {  
  106.             cache = ResourceBundle.getBundle("application");  
  107.         } catch (RuntimeException e) {  
  108.             e.printStackTrace();  
  109.         }  
  110.     }  
  111.   
  112.     /** 
  113.      * 功能描述:获取配置文件参数值 
  114.      *  
  115.      * @param str(参数KEY值) 
  116.      * @return 
  117.      */  
  118.     public static String getValue(String str) {  
  119.         String s = cache.getString(str);  
  120.         try {  
  121.             s = new String(s.getBytes("ISO8859-1"), "utf-8");  
  122.         } catch (UnsupportedEncodingException e) {  
  123.             e.printStackTrace();  
  124.         }  
  125.         return s;  
  126.     }  
  127.   
  128.     /** 
  129.      * 功能描述:获取指定配置文件参数的值 
  130.      *  
  131.      * @param strPropertiesFile(配置文件名称) 
  132.      * @param strItem(参数名称) 
  133.      * @return 
  134.      */  
  135.     public String getPropertiesValue(String strPropertiesFile, String strItem) {  
  136.         String strItemValue = "";  
  137.         ResourceBundle resources1 = null;  
  138.         try {  
  139.             resources1 = ResourceBundle.getBundle(strPropertiesFile);  
  140.             strItemValue = resources1.getString(strItem);  
  141.         } catch (MissingResourceException e) {  
  142.             System.out.println("ConfigInfo.getPropertiesValue error:"  
  143.                     + e.getMessage());  
  144.         }  
  145.         return strItemValue;  
  146.     }  
  147.       
  148.       
  149.       
  150. }  
分享到:
评论

相关推荐

    Java开发中读取XML与properties配置文件的方法

    - **DOM解析**:DOM(Document Object Model)将整个XML文件加载到内存中,形成一棵树形结构,便于遍历和访问所有节点。在Java中,使用`javax.xml.parsers.DocumentBuilderFactory`和`javax.xml.parsers....

    Java使用ByteArrayOutputStream 和 ByteArrayInputStream 避免重复读取配置文件的方法

    这样,配置文件只会在程序启动时加载一次,并且以字节数组的形式存储在内存中。后续的读取操作不再需要打开文件,而是直接从内存中读取,大大提高了效率。 总结来说,Java的 `ByteArrayOutputStream` 和 `...

    JAVA中的Configuration类详解

    * 根据配置文件名和属性key返回属性内容,configUtil.get(configFile, property); * * @author shengzhi.rens */ public class configUtil { private static configUtil initor = new configUtil(); private ...

    sentinel的下载和安装1.8.3

    同时,需要在应用启动时加载数据源,例如 Nacos: ```java @Bean public DataSourceConfig dataSourceConfig() { NacosDataSourceConfig config = new NacosDataSourceConfig(); config.setServerAddr("127.0.0.1...

    55links友情链接网址跟踪器

    55links友情链接网址跟踪器,放在桌面,每次直接打开就可以访问55links友情链接交易平台,方便快捷。

    [AB PLC例程源码][MMS_046180]CompactFlash Data Storage.zip

    AB PLC例程代码项目案例 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我!

    moore_01_0909.pdf

    moore_01_0909

    FIBR English learning

    FIBR English learning

    [AB PLC例程源码][MMS_042350]How to send-receive SMS text messages using Westermo modem.zip

    AB PLC例程代码项目案例 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我!

    OIF_IEEE802.3_liaison_19OCt09.pdf

    OIF_IEEE802.3_liaison_19OCt09

    SerU,做网络安全FTP内容的实验必备

    做网络安全FTP内容的实验必备

    nagarajan_01_1107.pdf

    nagarajan_01_1107

    [AB PLC例程源码][MMS_043879]Programming in SFC and ST Language.zip

    AB PLC例程代码项目案例 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我!

    mellitz_3cd_01_0318.pdf

    mellitz_3cd_01_0318

    PyQt6实战派 配套代码

    PyQt6实战派 配套代码

    陕西省省级非物质文化遗产民俗经纬度数据统计表

    陕西省省级非物质文化遗产经纬度数据统计表 统计内容包含以下字段: 1. 项目名称 2. 遗产类别 3. 入选批次 4. 所属地区 5. 申报地区/单位 6. 地理经度 7. 地理纬度 该统计表系统记录了陕西省省级非物质文化遗产的地理空间信息,为文化遗产的数字化保护与研究工作提供了重要的数据支撑。

    ran_3ck_02a_0918.pdf

    ran_3ck_02a_0918

    毕业设计-基于springboot+vue开发的汽车租赁管理系统【源码+sql+可运行】50308.zip

    毕业设计_基于springboot+vue开发的汽车租赁管理系统【源码+sql+可运行】【50308】.zip 全部代码均可运行,亲测可用,尽我所能,为你服务; 1.代码压缩包内容 代码:springboo后端代码+vue前端页面代码; 脚本:数据库SQL脚本 效果图:运行结果请看资源详情效果图 2.环境准备: - JDK1.8+ - maven3.6+ - nodejs14+ - mysql5.6+ - redis 3.技术栈 - 后台:springboot+mybatisPlus+Shiro - 前台:vue+iview+Vuex+Axios - 开发工具: idea、navicate 4.功能列表 - 系统设置:用户管理、角色管理、资源管理、系统日志 - 业务管理:汽车管理、客户管理、租赁订单 3.运行步骤: 步骤一:修改数据库连接信息(ip、port修改) 步骤二:找到启动类xxxApplication启动 4.若不会,可私信博主!!!

    Runcorder - 跑步训练管理系统

    # Runcorder - 跑步训练管理系统 Runcorder 是一款专为跑步爱好者、马拉松运动员及高校体育生设计的本地化跑步训练管理工具,基于 Python 开发,结合 Tkinter 图形界面与强大的数据处理能力,为用户提供从训练记录到数据分析的全方位支持。无论是初学者还是专业跑者,Runcorder 都能帮助你科学规划训练、精准追踪进度,并通过可视化图表直观呈现训练成果,让你的跑步训练更智能、更高效! - **多用户管理**:支持创建、加载和删除用户档案,每个用户的数据独立存储,确保隐私与安全。 - **科学训练记录**:全维度记录跑步数据,包括日期、里程、配速、自评和晨跑标记,支持智能输入校验,避免数据错误。 - **多维数据分析**:通过动态可视化图表展示跑步里程趋势、平均配速曲线,支持自定义 Y 轴范围,帮助用户深入理解训练效果。 - **高阶功能**:提供 4 种科学训练模式(有氧/无氧/混合),支持历史记录修改与删除,数据以 JSON 格式持久化存储,跨平台兼容。

    paatzsch_01_0708.pdf

    paatzsch_01_0708

Global site tag (gtag.js) - Google Analytics