使用:props.load(DBUtils.class.getClassLoader().getResourceAsStream("day01/db.properties"));
導入配置檔案
使用的是反射機制
.class ///獲得Class對象
.class.getClassLoader() ///獲得ClassLoader對象
.class.getClassLoader().getResourceAsStream(String name); //獲得inputStream對象
是以括号裡是inputStream對象 這肯定是不變的
///DBUtils.java
package day02;
import java.io.File;
import java.io.FileInputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.util.Properties;
public class DBUtils {
private static String driver;
private static String url;
private static String user;
private static String password;
static{
try{
Properties props = new Properties();
//從類路徑中加載檔案
props.load(DBUtils.class.getClassLoader().getResourceAsStream("day01/db.properties"));
//props.load(new FileInputStream("db.properties"));
driver = props.getProperty("driver");
url = props.getProperty("url");
user = props.getProperty("user");
password = props.getProperty("password");
System.out.println(driver);
System.out.println(url);
System.out.println(user);
Class.forName(driver);
}catch(Exception e){
throw new RuntimeException(e);
}
public static Connection openConnection() throws Exception{ //靜态方法獲得連接配接
Connection con = DriverManager.getConnection(url,user,password);
return con;