从properties文件中读取配置项,还要从数据库中读取配置项
时间: 2024-04-11 16:27:01 浏览: 10
您好!对于从 properties 文件中读取配置项,您可以使用 Java 的 Properties 类来实现。以下是一个简单的示例代码:
```java
import java.io.FileInputStream;
import java.io.IOException;
import java.util.Properties;
public class ConfigReader {
private Properties properties;
public ConfigReader(String filePath) {
properties = new Properties();
try {
FileInputStream fileInputStream = new FileInputStream(filePath);
properties.load(fileInputStream);
fileInputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
public String getProperty(String key) {
return properties.getProperty(key);
}
public static void main(String[] args) {
ConfigReader configReader = new ConfigReader("config.properties");
String username = configReader.getProperty("db.username");
String password = configReader.getProperty("db.password");
System.out.println("Username: " + username);
System.out.println("Password: " + password);
}
}
```
上述代码创建了一个 ConfigReader 类,通过构造函数传入 properties 文件的路径,并提供了一个 getProperty 方法用于获取指定键的配置项值。在 main 方法中,我们创建了一个 ConfigReader 对象,并从配置文件中获取了数据库的用户名和密码。
至于从数据库中读取配置项,可以使用 JDBC 连接数据库,并执行 SQL 查询来获取相应的配置项值。以下是一个简单的示例代码:
```java
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class DBConfigReader {
private Connection connection;
public DBConfigReader(String url, String username, String password) {
try {
connection = DriverManager.getConnection(url, username, password);
} catch (SQLException e) {
e.printStackTrace();
}
}
public String getProperty(String key) {
String value = null;
try {
Statement statement = connection.createStatement();
String query = "SELECT value FROM config WHERE key = '" + key + "'";
ResultSet resultSet = statement.executeQuery(query);
if (resultSet.next()) {
value = resultSet.getString("value");
}
statement.close();
} catch (SQLException e) {
e.printStackTrace();
}
return value;
}
public static void main(String[] args) {
String url = "jdbc:mysql://localhost:3306/mydb";
String username = "root";
String password = "password";
DBConfigReader dbConfigReader = new DBConfigReader(url, username, password);
String apiKey = dbConfigReader.getProperty("api.key");
System.out.println("API Key: " + apiKey);
}
}
```
上述代码创建了一个 DBConfigReader 类,通过构造函数传入数据库的 URL、用户名和密码,提供了一个 getProperty 方法用于执行 SQL 查询并获取指定键的配置项值。在 main 方法中,我们创建了一个 DBConfigReader 对象,并从数据库中获取了 API 密钥。
请注意,以上只是示例代码,您需要根据实际情况进行适当的修改和调整。