spring问题总结

问题描述:
某种业务场景用到Java反射去确定调用哪个业务层
与调用哪个方法。但是利用传统的反射机制会
脱离spring容器,dao层并没有实例化,dao操作完全
执行不了
利用先获取spring容器,再从spring中获取bean的实例为正解:
代码:
//获取当前上下文环境,spring容器
WebApplicationContext wac = ContextLoader.getCurrentWebApplicationContext(); 
//获取类实例
Class<?>  cls = wac.getBean(className).getClass();
//获取执行方法
Method m = cls.getDeclaredMethod(functionName,String.class);
//反射调用方法,methodParam:方法参数
amount = (BigDecimal) m.invoke(wac.getBean(className),methodParam);
Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐