您的位置:首页 > 编程语言 > Java开发

单例模式的java配置文件读取器

2017-09-20 21:04 351 查看

单例模式的java配置文件读取器

Spring的@Value注解很好用,直接给变量注入配置文件中的值。

这里用单例模式配合java的properties类实现一个配置文件读取器。

最佳实践是用自定义注解实现。

配置文件

test.properties

port=8080
program.name=test




位于项目的根目录中。

运行效果



Main.java

import cn.pangpython.test.utils.PropertiesLoader;

public class Main {

public static void main(String[] args) {
PropertiesLoader propertiesLoader = PropertiesLoader.getInstance();

String port_str = propertiesLoader.getOneProp("port");
String program_name = propertiesLoader.getOneProp("program.name");

System.out.println("port:"+port_str);
System.out.println("program name:"+program_name);
}
}


PropertiesLoader.java

package cn.pangpython.test.utils;

import java.io.FileInputStream;
import java.io.IOException;
import java.util.Properties;

/**
* Created by pangPython on 2017/9/20.
*/
public class PropertiesLoader {
private static PropertiesLoader m_propertiesLoader = null;
private Properties properties;

/**
* 获取唯一实例
*
* @return
*/
public static PropertiesLoader getInstance(){

if (m_propertiesLoader == null){
synchronized (PropertiesLoader.class){
if(m_propertiesLoader == null){
m_propertiesLoader = new PropertiesLoader();
}
}
}
return m_propertiesLoader;
}

/**
* 构造方法
*
*/

private PropertiesLoader() {
properties = new Properties();
try {
properties.load(new FileInputStream("test.properties"));
} catch (IOException e) {
e.printStackTrace();
}

}

/**
* 根据key获取一个配置的值
*
* @param key
* @return
*/
public String getOneProp(String key){
return properties.getProperty(key);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息