我有DBUtil类,其中包含数据库的配置。我有包含数据库详细信息的属性文件。我正在尝试使用此类加载属性文件,但在load()方法上显示The method getProperty(String) is undefined for the type Properties
时出现错误。我真的不知道怎么了。
DBUtil类
package com.varun.util;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.sql.DriverManager;
import java.sql.SQLException;
import com.arjuna.ats.internal.arjuna.recovery.Connection;
import com.sun.xml.fastinfoset.sax.Properties;
public class DbUtil {
private static Connection connection = null;
public static Connection getConnection(){
if(connection!=null)
{
return connection;
}
else
{
try{
Properties prop=new Properties();
InputStream inputStream=DbUtil.class.getClassLoader().getResourceAsStream("/db.properties");
prop.load(inputStream); // The method load(InputStream) is undefined for the type Properties
String driver = prop.getProp("");//The method getProp(String) is undefined for the type Properties
String url = prop.getProperty("url");//The method getProperty(String) is undefined for the type Properties
String user = prop.getProperty("user"); //The method getProperty(String) is undefined for the type Properties
String password = prop.getProperty("password"); //The method getProperty(String) is undefined for the type Properties
Class.forName(driver);
connection = (Connection) DriverManager.getConnection(url, user, password);
}catch(ClassNotFoundException e)
{
e.printStackTrace();
}
catch (SQLException e) {
e.printStackTrace();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return connection;
}
}
}
我已经与行一起注释了错误。
最佳答案
您需要import java.util.Properties;
并且您导入了错误的类-com.sun.xml.fastinfoset.sax.Properties
这些类的名称相同,但是它们位于不同的包中。您可能使用了一些会自动执行导入的IDE,并且它导入了错误的类型。
关于java - 未为类型Properties定义方法getProperty(String),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30208273/