项目中需要在一个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. ASP.NET Web API 2 框架揭秘

    这不是一本传统意义上的入门书籍 任何 —本书都具有对应的受众群体,所以我不得不将这句话放在最前面,并且希望所有 打算购买此书的读者能够看到.如果你之前对As氵NET W山API(或者AsPNET MⅤ ...

  2. java课程设计全程实录——第0天

    本次课设计划在5月25日完成.目前还剩18天. 第0天主要完成事项如下: 搭建开发环境 制定开发进度规划表 阅读前人的课设 详细: 1.IDE的下载,安装,以及配合使用的阿里巴巴编程规约插件的安装与测 ...

  3. QT 学习笔记概述

    以下笔记为在看书和实践的过程中的部分记录总结: 0. 窗口布局 1) 支持绝对布局和布局管理器布局; 2) 绝对布局不够灵活.无法自动调整大小,需要手动编写代码调整: 3) 布局管理器管理布局比较灵活 ...

  4. 2015 AlBaath Collegiate Programming Contest(2月14日训练赛)

    A (By ggg): 题意:一个人还有x秒到红绿灯,这个红绿灯有g秒绿灯,y秒黄 灯,r秒红灯,问你到红绿灯的时候是什么灯.值得注意的是绿 灯变黄灯时,第g秒是黄灯了. B (By Anxdada) ...

  5. 字符串翻转(java)

    1 递归,二分 private static String reverse(String s) { int N = s.length(); if(N <= 1) return s; String ...

  6. magic_quotes_runtime 和 magic_quotes_sybase 的作用

    如果启用了 magic_quotes_runtime,大多数返回任何形式外部数据的函数,包括数据库和文本段将会用反斜线转义引号. 如果启用了magic_quotes_sybase,单引号会被单引号转义 ...

  7. 关于websocket的代码,实现发送信息和监听信息(前端 后端(node.js))

    文件结构 node.js代码 // 需要HTTP 模块来启动服务器和Socket.IOvar http= require('http');var fs = require('fs');// 在8080 ...

  8. c++ extern

    一.extern关键字的作用 文件中定义的全局变量的可见性扩展到整个程序是在链接完成之后,而在编译阶段,他们的可见性仍局限于各自的文件. 编译器的目光不够长远,编译器没有能够意识到,某个变量符号虽然不 ...

  9. 跑RFCN

    按照这个来http://blog.csdn.net/sinat_30071459/article/details/53202977

  10. linux_2

    mac和linux上默认安装着SSH客户端,Windows上需要自己安装个软件. Windows下SSH客户端的安装:建议从官方网站下载正式程序安装(免费) Putty:https://www.chi ...