用JAVA实现:定义一个LoadData 类,里面包含 driverClassName,url,username,password几个私有字段 。建立 db.properties 文件,使用类加载器加载配置文件中的数据 。将加载到的数据使用反射创建LoadData 对象并且设置值
时间: 2024-03-27 08:41:05 浏览: 69
好的,下面是实现代码:
```java
import java.io.IOException;
import java.io.InputStream;
import java.lang.reflect.Field;
import java.util.Properties;
public class LoadData {
private String driverClassName;
private String url;
private String username;
private String password;
public LoadData() {}
public String getDriverClassName() {
return driverClassName;
}
public void setDriverClassName(String driverClassName) {
this.driverClassName = driverClassName;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public static void main(String[] args) {
LoadData loadData = new LoadData();
Properties properties = new Properties();
InputStream inputStream = LoadData.class.getClassLoader().getResourceAsStream("db.properties");
try {
properties.load(inputStream);
Field[] fields = loadData.getClass().getDeclaredFields();
for (Field field : fields) {
field.setAccessible(true);
field.set(loadData, properties.getProperty(field.getName()));
}
} catch (IOException | IllegalAccessException e) {
e.printStackTrace();
}
System.out.println(loadData.getDriverClassName());
System.out.println(loadData.getUrl());
System.out.println(loadData.getUsername());
System.out.println(loadData.getPassword());
}
}
```
在这里,我们首先定义了一个 `LoadData` 类,并且定义了 `driverClassName`、`url`、`username`、`password` 四个私有字段。然后,我们在 `main` 方法中使用类加载器加载 `db.properties` 文件,并使用反射创建 `LoadData` 对象并设置属性值。
最后,我们使用 `get` 方法获取属性值,并输出到控制台上。
阅读全文