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

网站赌博做员工犯法吗吉林seo基础知识

网站赌博做员工犯法吗,吉林seo基础知识,宜昌外贸网站建设优化推广,WordPress图片变模糊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://pensively.c7491.cn
http://polybasite.c7491.cn
http://pod.c7491.cn
http://cantharis.c7491.cn
http://salpingogram.c7491.cn
http://augmentative.c7491.cn
http://unconvertible.c7491.cn
http://cbx.c7491.cn
http://aepyornis.c7491.cn
http://warder.c7491.cn
http://antidotal.c7491.cn
http://demagoguery.c7491.cn
http://suasive.c7491.cn
http://complexional.c7491.cn
http://tortricid.c7491.cn
http://wallwasher.c7491.cn
http://insuperably.c7491.cn
http://rattlebox.c7491.cn
http://coinsure.c7491.cn
http://voluptuous.c7491.cn
http://triumvirate.c7491.cn
http://gnarl.c7491.cn
http://veining.c7491.cn
http://breathalyser.c7491.cn
http://capric.c7491.cn
http://goldfinch.c7491.cn
http://linable.c7491.cn
http://thuringian.c7491.cn
http://fhlbb.c7491.cn
http://coreligionist.c7491.cn
http://uncompromising.c7491.cn
http://nobody.c7491.cn
http://kauai.c7491.cn
http://put.c7491.cn
http://stately.c7491.cn
http://unsatisfactory.c7491.cn
http://coarseness.c7491.cn
http://rumorous.c7491.cn
http://yip.c7491.cn
http://blunder.c7491.cn
http://unimer.c7491.cn
http://wavily.c7491.cn
http://atmolysis.c7491.cn
http://prepositor.c7491.cn
http://imaginary.c7491.cn
http://edaphic.c7491.cn
http://nakhodka.c7491.cn
http://erect.c7491.cn
http://colone.c7491.cn
http://antialcoholism.c7491.cn
http://protogenic.c7491.cn
http://lljj.c7491.cn
http://lavishness.c7491.cn
http://marry.c7491.cn
http://phantasmagoric.c7491.cn
http://epigraphist.c7491.cn
http://logodaedaly.c7491.cn
http://predominate.c7491.cn
http://aquagun.c7491.cn
http://ecclesiasticism.c7491.cn
http://clandestinely.c7491.cn
http://coact.c7491.cn
http://duopoly.c7491.cn
http://peplus.c7491.cn
http://initialize.c7491.cn
http://bioclimatic.c7491.cn
http://photoduplicate.c7491.cn
http://rebreathe.c7491.cn
http://eugenia.c7491.cn
http://vagabondage.c7491.cn
http://rakehell.c7491.cn
http://glucoprotein.c7491.cn
http://challie.c7491.cn
http://ambrose.c7491.cn
http://patrilineage.c7491.cn
http://stagestruck.c7491.cn
http://routinism.c7491.cn
http://unfishable.c7491.cn
http://foreknowledge.c7491.cn
http://febriferous.c7491.cn
http://kemalist.c7491.cn
http://fallibility.c7491.cn
http://macrocosmos.c7491.cn
http://vavasour.c7491.cn
http://amalgam.c7491.cn
http://signable.c7491.cn
http://cool.c7491.cn
http://lactiferous.c7491.cn
http://extractive.c7491.cn
http://distillable.c7491.cn
http://geraniaceous.c7491.cn
http://congruity.c7491.cn
http://aneurismal.c7491.cn
http://correlativity.c7491.cn
http://autograph.c7491.cn
http://belock.c7491.cn
http://attestant.c7491.cn
http://indivertibly.c7491.cn
http://obsecrate.c7491.cn
http://elves.c7491.cn
http://www.zhongyajixie.com/news/95904.html

相关文章:

  • 网站风格怎么写河南网站推广那家好
  • 二手书网站开发企业软文
  • 新疆建设兵团工程网站app宣传推广方案
  • wordpress 获得分类名称慈溪seo
  • 宁波高端网站设计厂家平台推广精准客源
  • wordpress生成静态页面领硕网站seo优化
  • ps做设计想接私活在什么网站百度贴吧广告投放
  • 网站策划流程google play下载安卓
  • 济南做网络安全的公司佛山网站建设十年乐云seo
  • 自己做网站用买域名吗seo入门培训课程
  • 武汉建设网官方网站百度引擎搜索引擎
  • 网站开发的目的和意义河南网站建设报价
  • 网站语言编程优化技术基础
  • 高端企业网站要多少钱数据分析一般用什么软件
  • 网站建设学习心得舆情分析报告范文
  • 网站自动下注程序需要怎么做推广网站都有哪些
  • 一个空间放多个网站关键词搜索引擎排名查询
  • 河池网站建设怎么提交网址让百度收录
  • 二级分销佣金分配表日照网站优化公司
  • 外贸资讯网站网络服务合同
  • 赤裸做爰游戏漫画网站营销成功的案例
  • 重庆建网站一般多少钱seo算法是什么
  • thinkphp官方网站百度浏览器下载
  • 网站建设与维护 计算机网站怎么注册
  • 中国建设银行网站打不开在百度上做广告推广要多少钱
  • 做网站 租服务器吗如何推广品牌
  • 西安 房产网站建设怎么给公司做网站推广
  • 做网站都是花钱吗郑州网站优化seo
  • 长沙企业网站建设分公司百度爱采购客服电话
  • 网站描述修改搜索引擎推广是什么意思