1. 程式人生 > >java反射呼叫Bean指定方法

java反射呼叫Bean指定方法

步驟:

    一:獲取到bean的物件,方式有兩種,

        1.通過Spring上下文獲取到bean物件

Object object = SpringContextUtils.getBean(tableName+"Service");
        Class selectsClass = object.getClass();

        2.通過Class.forName初始化載入bean

Class selectsClass= Class.forName(TableSelectsUtil.class.getName());

   二:通過方法名獲取方法物件

Method methodmethod = selectsClass.getMethod("getAll", new Class[] {String.class});

其中String.class為引數型別,多個引數需要新增多個,“getAll”為方法名,selectsClass為bean的物件。

  三:通過Method物件反射呼叫物件傳入引數獲取返回值

Object result = (List<Map<String,String>>)method.invoke(object, new Object[] {new String("test")});

呼叫method的invoke方法,第一個引數是類的例項,通過Class的newInstance()方法可以初始例項(如果類中含有需要spring注入的屬性,只能通過spring上下文獲取例項),如果方法是靜態的則不需要初始化Class,直接傳入Null即可;第二個引數是改方法的引數,多個引數寫入new Object[]{}即可。