当前位置: 首页 > news >正文

网站赌博做员工犯法吗螺蛳粉的软文推广

网站赌博做员工犯法吗,螺蛳粉的软文推广,深圳绿色建筑信息平台,做网站的大公司都有哪些springboot 反射调用ServiceImpl时报错:java.lang.NullPointerException、mapper为null【解决方法】 问题描述问题分析解决方案创建SpringBootBeanUtil编写调用方法 executeMethod调用 总结 问题描述 在使用Spring Boot时,我们希望能够通过反射动态调用…

springboot 反射调用ServiceImpl时报错:java.lang.NullPointerException、mapper为null【解决方法】

  • 问题描述
  • 问题分析
  • 解决方案
    • 创建SpringBootBeanUtil
    • 编写调用方法 executeMethod
    • 调用
  • 总结

问题描述

在使用Spring Boot时,我们希望能够通过反射动态调用Service层中的方法,但在实践中发现,直接使用反射调用ServiceImpl中的方法时可能会导致NullPointerException异常。特别是当ServiceImpl中的依赖对象未正确注入时,这种情况更加常见。

问题分析

依赖注入机制失效:Spring Boot通常使用依赖注入来管理Service层的实例和依赖对象。然而,直接通过反射调用ServiceImpl的方法时,Spring的依赖注入机制可能会失效,导致依赖对象未能正确初始化,从而导致空指针异常。

依赖对象为null:当ServiceImpl中依赖的对象,如Mapper,未正确注入时,反射调用相关方法可能会导致依赖对象为null,进而触发空指针异常。

解决方案的选择:针对这样的问题,需要寻找方法来确保依赖注入机制的生效,以及正确地初始化ServiceImpl中的依赖对象,同时保证动态调用方法的合法性。

解决方案

创建SpringBootBeanUtil

import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.stereotype.Component;/*** Keafmd** @ClassName: SpringBootBeanUtil* @Description:* @author: 牛哄哄的柯南* @date: 2024/4/7*/
@Component
public class SpringBootBeanUtil implements ApplicationContextAware {private static ApplicationContext applicationContext;public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {if (SpringBootBeanUtil.applicationContext == null) {SpringBootBeanUtil.applicationContext = applicationContext;}}/*** 获取applicationContext* @return*/public static ApplicationContext getApplicationContext() {return applicationContext;}/*** 通过name获取 Bean.* @param name* @return*/public static Object getBean(String name) {return getApplicationContext().getBean(name);}/*** 通过class获取Bean.* @param clazz* @return*/public static <T> T getBean(Class<T> clazz) {return getApplicationContext().getBean(clazz);}/*** 通过name,以及Clazz返回指定的Bean* @param name* @param clazz* @return*/public static <T> T getBean(String name, Class<T> clazz) {return getApplicationContext().getBean(name, clazz);}}

编写调用方法 executeMethod

public Object executeMethod(String classAndMethodPath, Object... args) {try {// classAndMethodPath = "com.example.demo.Test.test"// 分割字符串,获取类名和方法名String[] split = classAndMethodPath.split("\\.");String methodName = split[split.length-1];String className = classAndMethodPath.replace("."+methodName,"");ApplicationContext applicationContext = SpringBootBeanUtil.getApplicationContext();//反射创建serviceimpi实体对象,和实体类Class<?> ServiceImplType = Class.forName(className);//反射设置方法参数。Class<?>[] parameterTypes = new Class[args.length];for (int i = 0; i < args.length; i++) {parameterTypes[i] = args[i].getClass(); }Method method = ServiceImplType.getDeclaredMethod(methodName,parameterTypes);//在ApplicationContext中根据class取出已实例化的beanreturn method.invoke(applicationContext.getBean(ServiceImplType),args);} catch (Exception e) {// 处理异常e.printStackTrace();}return null;
}

调用

Object object = executeMethod("com.XXXXX.selectXxById","666666666");      

总结

以上就是springboot 反射调用ServiceImpl时报错:java.lang.NullPointerExceptio、,mapper为null【解决方法】的全部内容。

版权声明:
原创博主:牛哄哄的柯南
博主原文链接:https://keafmd.blog.csdn.net/
个人博客链接:https://www.keafmd.top/

看完如果对你有帮助,感谢点击下面的点赞支持!
[哈哈][抱拳]

在这里插入图片描述
加油!

共同努力!

Keafmd

感谢支持牛哄哄的柯南,期待你的三连+关注~~

keep accumulate for my dream【共勉】

                                                       ↓   ↓   ↓   合作 交流  ↓   ↓   ↓  

http://www.15wanjia.com/news/9365.html

相关文章:

  • apk连接wordpressseo排名查询
  • 网站开发人员需求分析市场推广方案范文
  • 用软件做网站线下推广方式有哪些
  • 品牌公关活动策划seo中文意思是
  • 如何做网站的压力测试交友网站有哪些
  • 营销网站服务器西安网站推广排名
  • 医药做网站竞价网络推广培训
  • 广州 经营性网站备案上海优化网站方法
  • 中国建设人才信息网站查询友链查询站长工具
  • 成都网站建设scjsc888网站seo设计
  • 广州电子商城网站建设建设网站制作公司
  • 网站建设对我有什么好处百度灰色关键词排名技术
  • 沈阳做网站推广手游代理平台哪个好
  • 专业做电子的外贸网站建设搜索引擎营销的英文缩写是
  • 网站平台做推广方案设计拓客渠道有哪些
  • 网站流量多少可以盈利线下引流推广方法
  • 视频网站切片怎么做一键优化大师下载
  • 一般找素材都是做哪几个网站呢即刻搜索引擎入口
  • 手机页面网站开发例子乐陵seo外包公司
  • 上海跨境电商网站制作西安关键词排名推广
  • 皖icp合肥网站建设优化网站关键词优化
  • 中山网页模板建站域名权重
  • 做的好的响应式网站建网站模板
  • 网站建设视频教程推荐网站建设介绍ppt
  • 菏泽企业做网站百度推广运营
  • 怎样做自己的个人网站广州百度seo优化排名
  • 商城网站建设公司地址重庆seo俱乐部联系方式
  • 北海做网站的网络公司网站数据
  • 网站建设团队网站设计公司排行榜
  • 苏州网站建设自学淘宝推广工具