package com.cgm;
public class Person {
private String name;
private String age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
public Person() {
System.out.println("Person...");
}
@Override
public String toString() {
return "Person [name=" + name + ", age=" + age + "]";
}
public Person(String name, String age) {
this.name = name;
this.age = age;
}
}
package com.cgm;
public class Worker {
private String name;
private String age;
private String money;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
public String getMoney() {
return money;
}
public void setMoney(String money) {
this.money = money;
}
public Worker() {
System.out.println("worker");
}
@Override
public String toString() {
return "Worker [name=" + name + ", age=" + age + ", money=" + money + "]";
}
}
package com.cgm;
import java.lang.reflect.Field;
import java.util.HashMap;
import java.util.Map;
import java.util.ResourceBundle;
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
Map<String, String> map = new HashMap<String, String>();
map.put("name", "lisi");
map.put("age", "18");
map.put("addr", "hunan");
map.put("tel", "18674838758");
map.put("mail", "578994358@qq.com");
ResourceBundle bundle = ResourceBundle.getBundle("data");
// ResourceBundle.getBundle(baseName)
String className = bundle.getString("className");
try {
Class clazz = Class.forName(className);
Object obj = clazz.newInstance();
autoWire(map, obj);
System.out.println(obj);
} catch (Exception e) {
e.printStackTrace();
}
}
private static void autoWire(Map<String, String> map, Object obj) {
try {
Class clazz = obj.getClass(); //通过反射得到字节码对象
Field[] fields = clazz.getDeclaredFields();
for (Field field : fields) {
String fieldName = field.getName();
String value = map.get(fieldName);
System.out.println(value);
System.out.println(field.getName());
if (value != null) {
field.setAccessible(true);
field.set(obj, value);
}
// Person p = (Person) obj;
//p.setName(value);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
配置文件 放到src路径下 data.properties
className=com.cgm.Person
分享到:
相关推荐
Excel填充数据封装(java) 分页写入 方法反射的使用
对企业合同word模版,可通过java 程序实现生成word文件,然后再通过word转成pdf实现。本实例的方案,可实现模版到word文件的转换。附件有代码和效果图。
以生成工资条为例,演示了通过PageOffice开发平台,用Java语言实现Word文档的在线打开、编辑和保存,数据区域数据的动态填充和提交,数据区域插入Word文件,动态填充和提交Word文件中Tabel的数据
身份证号码自动填充身份证号码自动填充身份证号码自动填充
ajax异步自动填充信息,类似于百度查询的简单demo,希望能帮到大家
在本篇文章中小编给大家分享了关于Java创建和填充PDF表单域方法和步骤,有需要的朋友们学习下。
清除input在浏览器中自动填充用户名等的情况,JQuery解决,IE8 ,chrome等均可以使用。
java运用poi操作word,替换word中的占位符填充数据,并将多个word合并成一个word,附件是java代码和相关jar包,以及测试模板,需要注意是,只适用2007以上的word
android自动填充短信验证码,请初学者学习。
android 自动填充数据工具FillData,模仿用户填充手机内存工具,安装使用,卸载后清空所填充的内存
测试抓取ibatis日志生成的sql会有很多问号,参数填充太麻烦,所以写了一个窗口sql参数自动填充工具
获取到短信验证码,自动填充到界面上
短信验证码自动填充
使用java编程 多边形画法:先选择画图中的多边形,然后在面板里单击鼠标左键,画点,双击,将点按顺序连接成多边形 图形颜色和填充颜色均可以选择,预定义为红色和蓝色。 扫描线种子填充的算法适合于任意图形,不会...
计算机图形学 区域填充 扫面线功能绝对的强大 可以画任意图形 进行区域填充
将已有答案填充到题目括号里面,另有一个版本将已有答案填充到题目号前面
AutoComplete aspx 实现下拉框自动填充 ,通过ajax实现自动填充
代码实现用excel表格中数据自动填充 网页表单
Mybatis Log(自动填充sql参数打印到控制台)
Android自动填充短信验证码自动获取短信验证码并填充 Android自动填充短信验证码截图