工具类引入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的情况了!