XXX.properties
uname=root
password=root
driverClassName=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/kgcnews
package cn.kgc.util;
import jdk.internal.util.xml.impl.Input;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
/**
* @Description: 读取properties
* @author: wangyue
* @date: 2021年08月05日 8:43
*
* 作用Properties对象读取 properties文件
* ConfigManager单例的
* 1 将构造方法私有化
* 2 在本类中创建该类的对象
* 3 将本类中创建的类的对象返回
*
* 饿汉式: JVM 加载ConfigManager类的configManager属性的时候,创建ConfigManager对象
*
* 懒汉式: JVM 加载ConfigManager类的configManager属性的时候,没有创建ConfigManager对象
*/
public class ConfigManager {
private static Properties properties;
private static ConfigManager configManager= new ConfigManager();
// private static ConfigManager configManager;
//使用properties对象读取db.properties文件中的内容
//properties对象.load(inputStream);读取配置文件
private ConfigManager(){
properties=new Properties();
InputStream inputStream= null;
try {
//获得输入流
inputStream = this.getClass().getClassLoader().getResourceAsStream("db.properties");
//使用properties对象加载输入流
properties.load(inputStream);
} catch (IOException e) {
e.printStackTrace();
}finally {
try {
if(inputStream!=null){
inputStream.close(); //关闭资源
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
//返回ConfigManager类的对象
public synchronized static ConfigManager getInstance(){
// if(configManager==null){
// configManager = new ConfigManager();
// }
return configManager;
}
//根据属性的名字获得属性的值
public String getValue(String key){
return properties.getProperty(key);
}
}