解决静态utils里面注入mapper对象

项目中需要在一个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.       
  4.     @Autowired  
  5.     private  BusiTabMapper busiTabMapper;  
  6.     @Autowired  
  7.     private  BusiTabLayoutMapper busiTabLayoutMapper;  
  8.       
  9.     private static LayoutNumUtils layoutNumUtils;  
  10.       
  11.     @PostConstruct  
  12.     public void init(){  
  13.         layoutNumUtils = this;  
  14.         layoutNumUtils.busiTabMapper = this.busiTabMapper;  
  15.         layoutNumUtils.busiTabLayoutMapper = this.busiTabLayoutMapper;  
  16.     }  
  17.       
  18.     public static void layoutTypeCheck(Integer tabId){  
  19.         try {  
  20.             List<BusiTabLayout> list = layoutNumUtils.busiTabLayoutMapper.selectByTabId(tabId);</span>  
posted @ 2018-05-22 15:54  星朝  阅读(1046)  评论(0编辑  收藏  举报