当前位置:   article > 正文

SpringBoot 从入门到精通- Spring通过反射调用bean中方法_反射获取bean 调用方法并传参

反射获取bean 调用方法并传参
  1. @Service
  2. public class ReflectionService {
  3. @Resource
  4. private ApplicationContext applicationContext;
  5. private static final List<Class> WRAP_CLASS = Arrays.asList(Integer.class, Boolean.class, Double.class,Byte.class,Short.class, Long.class, Float.class, Double.class, BigDecimal.class, String.class);
  6. /**
  7. * 反射调用spring bean方法的入口
  8. * @param classz 类名
  9. * @param methodName 方法名
  10. * @param paramMap 实际参数
  11. * @throws Exception
  12. */
  13. public void invokeService(String classz, String methodName, Map<String,Object> paramMap) throws Exception {
  14. if(!applicationContext.containsBean(classz)) {
  15. throw new RuntimeException("Spring找不到对应的Bean");
  16. }
  17. // 从Spring中获取代理对象(可能被JDK或者CGLIB代理)
  18. Object proxyObject = applicationContext.getBean(classz);
  19. // 获取代理对象执行的方法
  20. Method method = getMethod(proxyObject.getClass(), methodName);
  21. // 获取
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/656145
推荐阅读
相关标签
  

闽ICP备14008679号