今天遇到一个问题 ,需要写一个工具类用来查找某个数据库。本来以为挺简单
写个类注入mapper就好了 然后为了调用的时候简单点 就写成静态的了,然后问题就来了 空指针。。。
百度了下 说的是不能注入静态mapper 然后搜了下方法 总结如下:
工具类里不能注入 只声明,同时提供get ,set 方法
private static DatabaseinfoMapper databaseinfoMapper; public static DatabaseinfoMapper getDatabaseinfoMapper() { return databaseinfoMapper; } public static void setDatabaseinfoMapper(DatabaseinfoMapper databaseinfoMapper) { DataBaseUtil.databaseinfoMapper = databaseinfoMapper; }
创建配置类:交给spring 管理
package com.yhk.bigdata.config; import com.yhk.bigdata.dataBase.dao.DatabaseinfoMapper; import com.yhk.bigdata.utils.DataBaseUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @Configuration public class StaticConfig { @Autowired private DatabaseinfoMapper databaseinfoMapper; @Bean public int initStatic(){ DataBaseUtil.setDatabaseinfoMapper(databaseinfoMapper); return 0; } }
然后工具类里在写静态方法就可以了