主要做两个事,从properties配置文件中读取信息,通过反射创建对象
思路主要有两种,遍历得到的属性集合,然后设置类的属性
遍历类的属性集合,从配置文件中读取(不推荐,因为类的属性有多样化,会报错)
try {
Properties prop = new Properties();
prop.load(new FileInputStream(
"F:\\user.properties"));
Class class1 = Class.forName("com.zlkj.config.User1");
Object newInstance = class1.newInstance();
//这样就可以拿到本类中公有和私有方法
Field[] fields = class1.getDeclaredFields();
for (Field field : fields) {
field.setAccessible(true);
field.set(newInstance, prop.getProperty(field.getName()));
}
System.out.println(newInstance.toString());
} catch (Exception e) {
e.printStackTrace();
}
以上方法要注意几点:
- 注入的类的属性要是String类,如果是其他类,要调用相应的方法,不然会报错;
- 有时候可能要拿父类的属性,调用 getSuperClass().getDeclaredFields()
点击查看更多内容
为 TA 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦