Bootstrap

工具类引入Service层,空指针异常处理

工具类引入Service层,空指针异常处理

问题描述:

在编码过程中大家经常会将可复用的代码提取为一个公用的工具类进行使用,部分工具类中会引用到其他Service层的API,按控制层方式的引入会出现如下的错误提示:
在这里插入图片描述
即是你引入的service层无法实例化,也就无法使用其中的API。

解决方案:

如图,对应的5个操作
在这里插入图片描述

package com.share.doc.utils;
import com.share.doc.service.dynamicDS.DynamicDSService;
import org.springframework.stereotype.Component;
import javax.annotation.PostConstruct;
import javax.annotation.Resource;
import java.util.*;

@Component //第一步:让该类被Spring扫描
public class SqlActuatorUtil {

    @Resource //第二步:映入所需的service
    private DynamicDSService dsService;

    // 第三步:静态初始化当前类
    public static SqlActuatorUtil SqlActuatorUtil;

    @PostConstruct //第四步:java自带注解  
    public void init() {
        SqlActuatorUtil = this;
        SqlActuatorUtil.dsService = this.dsService;
    }

    public static void getSqlData(){  	
		//第五步:服务调用
    	System.out.println(SqlActuatorUtil.dsService.executeSqlMap(SQL));   
    }
}

这样就解决了上面出现的引入为null的情况了!

悦读

道可道,非常道;名可名,非常名。 无名,天地之始,有名,万物之母。 故常无欲,以观其妙,常有欲,以观其徼。 此两者,同出而异名,同谓之玄,玄之又玄,众妙之门。

;