我写了一个工具类然后需要操作数据库,就需要@autowired注入一下,按照网上的方法我写了以下代码
package com.cjbdi.core.extractcenter.utils;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.cjbdi.core.entity.NacosModel;
import com.cjbdi.core.mapper.ConfigInfoMapper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.yaml.snakeyaml.Yaml;
import javax.annotation.PostConstruct;
import java.util.HashMap;
import java.util.List;
@Component
public class ConfigInfoUtils {
private static Logger logger = LoggerFactory.getLogger(ConfigInfoUtils.class);
@Autowired
private ConfigInfoMapper configInfoMapper;
public static ConfigInfoUtils configInfoUtils;
@PostConstruct
public void init(){
configInfoUtils = this;
configInfoUtils.configInfoMapper = this.configInfoMapper;
}
public JSONObject selectGroupAll(String group){
List<NacosModel> byGroupAll = configInfoUtils.configInfoMapper.findByGroupAll(group);
HashMap<String, Object> map = new HashMap<>();
byGroupAll.stream().forEach(o ->{
map.put(o.getDataId(),JSONObject.toJSONString(new Yaml().load(o.getContent())));
});
return JSONObject.parseObject(JSON.toJSONString(map));
}
public JSONObject selectDataId(String dataId, String group){
String s = configInfoUtils.configInfoMapper.selectDataId(dataId, group);
return new JSONObject(new Yaml().load(s));
}
}
我调用是这么调用的
JSONObject caseOneJson = ConfigInfoUtils.configInfoUtils.selectGroupAll("extractor-feature-label").getJSONObject(caseOne);
然后报错
java.lang.NullPointerException
这些是错误
java.lang.NullPointerException
at com.cjbdi.core.extractcenter.ExtractCasePortrait.<init>(ExtractCasePortrait.java:51)
at com.cjbdi.core.controller.IntelJudgeController.<init>(IntelJudgeController.java:33)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:204)
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:87)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1312)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1214)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:557)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:517)
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:323)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:226)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:321)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:895)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:878)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:550)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:143)
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:758)
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:750)
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:397)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:315)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1237)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1226)
at com.cjbdi.core.ExtractFeatureApplication.main(ExtractFeatureApplication.java:25)
我想问一下这静态类要怎么用@autowired注入的类,我这上边的工具类或者调用方式有什么错误,请指教,急