配置依赖反射设置注入

来源:互联网 发布:异或符号 java 编辑:程序博客网 时间:2024/06/08 09:58
package model;public class Person {    private String name;    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }}//下面通过反射对name进行set值package model;import java.lang.reflect.InvocationTargetException;import java.lang.reflect.Method;public class Test {    public static void main(String[] args) throws SecurityException, NoSuchMethodException {        try {            Class personClazz=Class.forName("model.Person");            try {                Object bean=personClazz.newInstance();                Method method1=  personClazz.getMethod("setName","xie".getClass());                //调用bean实例的setName方法                try {                    method1.invoke(bean,"xie");                    Person p=(Person)bean;                    //测试是否已经将值set进去                    System.out.println(p.getName());                } catch (IllegalArgumentException e) {                    // TODO Auto-generated catch block                    e.printStackTrace();                } catch (InvocationTargetException e) {                    // TODO Auto-generated catch block                    e.printStackTrace();                }            } catch (InstantiationException e) {                // TODO Auto-generated catch block                e.printStackTrace();            } catch (IllegalAccessException e) {                // TODO Auto-generated catch block                e.printStackTrace();            }        } catch (ClassNotFoundException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }    }}