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[]{}即可。

猜你喜欢

转载自blog.csdn.net/w_dongqiang/article/details/80184317
今日推荐