项目中需要在一个utils工具类中,调用mapper对象来进行功能实现,然而静态方法里面直接注入会报空指针的错误,网上查了一些资料得出如下解决办法

重点步骤:

1,utils类上面添加@Component注解

2,@Autowired注入需要使用的mapper对象,注意不是静态的

3,创建一个静态的这个utils的对象   private static LayoutNumUtils layoutNumUtils;

4,创建一个init方法,添加@PostConstruct注解,方法内容如下

OK,在接下来的调用中,使用utils的对象来调用对应的mapper对象layoutNumUtils.busiTabLayoutMapper.selectByTabId(tabId);

  1. <span style="font-size:18px;">@Component
  2. public class LayoutNumUtils {
  3. @Autowired
  4. private  BusiTabMapper busiTabMapper;
  5. @Autowired
  6. private  BusiTabLayoutMapper busiTabLayoutMapper;
  7. private static LayoutNumUtils layoutNumUtils;
  8. @PostConstruct
  9. public void init(){
  10. layoutNumUtils = this;
  11. layoutNumUtils.busiTabMapper = this.busiTabMapper;
  12. layoutNumUtils.busiTabLayoutMapper = this.busiTabLayoutMapper;
  13. }
  14. public static void layoutTypeCheck(Integer tabId){
  15. try {
  16. List<BusiTabLayout> list = layoutNumUtils.busiTabLayoutMapper.selectByTabId(tabId);</span>
@Component
public class LayoutNumUtils {

@Autowired</br>
private BusiTabMapper busiTabMapper;</br>
@Autowired</br>
private BusiTabLayoutMapper busiTabLayoutMapper;</br></br> private static LayoutNumUtils layoutNumUtils;</br></br> @PostConstruct</br>
public void init(){</br>
layoutNumUtils = this;</br>
layoutNumUtils.busiTabMapper = this.busiTabMapper;</br>
layoutNumUtils.busiTabLayoutMapper = this.busiTabLayoutMapper;</br>
}</br></br> public static void layoutTypeCheck(Integer tabId){</br>
try {</br>
List&lt;BusiTabLayout&gt; list = layoutNumUtils.busiTabLayoutMapper.selectByTabId(tabId);</span></pre><span style="font-size:18px;"><br><br></span></br>

解决静态utils里面注入mapper对象的更多相关文章

  1. SpringBoot环境下使用测试类注入Mapper接口报错解决

    当我们在进行开发中难免会要用到测试类,而且测试类要注入Mapper接口,如果测试运行的时候包空指针异常,看看测试类上面的注解是否用对! 正常测试我们需要用到的注解有这些: @SpringBootTes ...

  2. 记录一次Service被注入mapper实例的错误

    在一个搭建框架为SSM的项目中,有一个需求是数据库更新同步Solr索引库的数据. 在使用ActiveMQ作为中间件,实现这个需求时却发生了一个错误. 在Listener实现类里我想注入一个Servic ...

  3. 新人踩坑的一天——springboot注入mapper时出现java.lang.NullPointerException: null

    来公司的第二周接到了定时任务的开发需求:每天早上十点发送用户报表邮件 .校招新人菜鸟没做过这玩意有些懵(尴尬)于是决定分步写,从excel导出->邮件发送->定时器实现->mappe ...

  4. IDEA下Maven项目搭建踩坑记----3.最长的bug,最简单的错误。同一类中,部分函数的@AutoWired注入的对象失效

    这个错误绝对是我写到现在为止最傻X的一个错误,先上图 问题: 出了一个特别长的错误,大致的意思就是mapper.xml文件注入Dao层的时候失败. 解决: 查看一下错误的位置→ 找到Dao层 找到错误 ...

  5. 【spring】ApplicationListener传递参数到页面(解决静态+动态资源路径+静态文件的缓存控制)

    一.相对路径还是绝对路径的问题 前端页面加载资源或者请求的时候到底是使用相对路径还是绝对路径,想必大家都很清楚,用的是当然是相对路径,因为这样增加了项目的灵活性,不需要经常的改动.那既然是相对路径就需 ...

  6. 静态变量setter注入

    1.java中静态方法调用非静态成员变量.非静态方法 public class Circle { private double radius = 1.0; double getAre() { retu ...

  7. SpringBoot注入Mapper提示Could not autowire. No beans of 'xxxMapper' type found错误

    通过用Mabatis的逆向工程生成的Entity和Mapper.在Service层注入的时候一直提示Could not autowire. No beans of 'xxxMapper' type f ...

  8. (转)解决fasterxml中string字符串转对象json格式错误问题(无引号 单引号问题)

    原文地址:解决fasterxml中string字符串转对象json格式错误问题 com.fasterxml.jackson.databind.ObjectMapper mapper = new com ...

  9. idea的service注入mapper报错

    一.问题 idea的java项目中,service类中注入mapper报错 二.解决 方法1 在mapper类上加上  @Repository 注解即可,当然不加也行,程序也不回报错,是idea的误报 ...

随机推荐

  1. net MVC 四种基本 Filter

    四种基本 Filter 概述 MVC框架支持的Filter可以归为四类,每一类都可以对处理请求的不同时间点引入额外的逻辑处理.这四类Filter如下表:   使用内置的Authorization Fi ...

  2. SqlServer2005使用top 100 PERCENT 无法排序的问题

    由于公司提供的分页控件需要我使用top子句,而且有必要将查询到的记录全部取出,确发现不能排序,sql语句如下: SELECT TOP 15 * FROM( SELECT TOP (100) PERCE ...

  3. codevs 2600 13号星期几?

    时间限制: 1 s  空间限制: 8000 KB  题目等级 : 黄金 Gold 题目描述 Description 从1900年1月1日(星期一) 开始经过的n年当中,每个月的13号这一天是星期一.星 ...

  4. oracle补丁类型

    名称 说明 Release ¤ 标准产品发布.如Oracle Database 10g Release 2的第一个发行版本为10.2.0.1,可以在OTN.edelivery等站点上公开下载 Patc ...

  5. k8s集群之Docker安装镜像加速器配置与k8s容器网络

    安装Docker 参考:https://www.cnblogs.com/rdchenxi/p/10381631.html 加速器配置 参考:https://www.cnblogs.com/rdchen ...

  6. stay hungry stay foolish.

    I am honored to be with you today at your commencement from one of the finest universities in the wo ...

  7. SQL 语句解决实际问题

    在项目开发过程中,遇到数据库的查询问题 一.查询某表字段的信息 select * from syscolumns SELECT object_id('TB_KYChildProject') selec ...

  8. Angular缺少 FormsModule

    虽然 ngModel是一个有效的 Angular 指令,不过它在默认情况下是不可用的. 解决方法: 在根模块引入FormModule import { FormsModule } from '@ang ...

  9. vue获取v-model数据类型boolean改变成string

    问题描述 今天产品问我一线上bug,怎么radio类型改不了 问题分析 看代码,之前的哥们儿是怎么写的 //页面 <div class="ui-form-box"> & ...

  10. Linux 特殊指令总结(持续更新)

    Linux 命令 1. 查看系统信息 1.uname uname (1) - print system information uname (2) - get name and information ...