java读取.properties文件

来源:互联网 发布:ubuntu tty u盘 编辑:程序博客网 时间:2024/04/27 17:27
Properties类(key-value)经常与.properties文件一起用来完成简单配置信息的读取
Properties props = new Properties();
props.setProperty("username", "tom");
String username = props.getProperty("username");
System.out.println(username);

//test为java project下的一个包名

InputStream ips = A.class.getClassLoader().getResourceAsStream("test/config.properties");
props.load(ips);

String username1 = props.getProperty("username");



DB.properties文件

#mysql
driver = com.mysql.jdbc.Driver
url = jdbc:mysql://localhost:3306/test
user = root
password = root


DBConnection类

package dao.jdbc;


import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;


public class DBConnection {
private static ThreadLocal<Connection> connections = 
new ThreadLocal<Connection>();
private static Properties props = new Properties();

static{

//dao.jdbc为java project下的包名
InputStream ips = DBConnection.class.getClassLoader().getResourceAsStream("dao/jdbc/DB.properties");
try {
props.load(ips);
} catch (IOException e) {
e.printStackTrace();
}
}



public static Connection getConnection() throws Exception{
Connection conn = connections.get();
if(conn == null) {
conn = getConn();
connections.set(conn);
}
return conn;
}

public static void close(){
Connection conn = connections.get();
if(conn != null){
try {
conn.close();
connections.set(null);//必须要有,关掉之后不能用
} catch (SQLException e) {
e.printStackTrace();
}
}
}

private static Connection getConn() throws Exception{
String driver = props.getProperty("driver"); 
Class.forName(driver);
String url = props.getProperty("url");
String user = props.getProperty("user");
String password = props.getProperty("password");
return DriverManager.getConnection(url, user, password);
}
}