静态方法中调用非静态方法!

Java普通Utils 类(非 Controller、Service)注入 mapper 为 null

需要将 Utils 类添加 @Component 注解注入 Spring 容器,添加 init () 方法,并用注解 @PostConstruct 注解修饰方法, 被 @PostConstruct 修饰的方法会在服务器加载 Servle 的时候运行,并且只会被服务器执行一次。PostConstruct 在构造函数之后执行,init () 方法之前执行。PreDestroy()方法在 destroy () 方法执行执行之后执行, 结果能注入成功!
 

@Component
public class HworkUserRoleUtil {



 @Resource
    private SysRegionMapper sysRegionMapper;

    public static HworkUserRoleUtil hworkUserRoleUtil;

    @PostConstruct
    public void init() {
        hworkUserRoleUtil = this;
        hworkUserRoleUtil.sysRegionMapper = this.sysRegionMapper;
    }




public static void getAreaByQz(){

// 写法1
List<SysRegionPo> sysRegionPoList = hworkUserRoleUtil.getSysRegion(code.substring(0, 4));
// 写法2
List<SysRegionPo> sysRegionPoList = new HworkUserRoleUtil().getSysRegion(code.substring(0, 4));
}



 /**
     * 获取大区编码
     *
     * @param areaCode
     * @return
     */
    public List<SysRegionPo> getSysRegion(String areaCode) {
        List<SysRegionPo> sysRegionPos = hworkUserRoleUtil.sysRegionMapper.selectList(new LambdaQueryWrapper<SysRegionPo>()
                .eq(SysRegionPo::getAreaCode, areaCode).eq(SysRegionPo::getIsDeleted, CommonConst.INT_NO));
        return sysRegionPos;
    }

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值