记录一次SpringBoot Autowired为null的错误

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/he37176427/article/details/88816905

在一个测试类中使用

@RunWith(SpringRunner.class)
@SpringBootTest
public class SuiSiteJob {

    @Autowired
    SiteService siteService;

    @Autowired
    SystemConfigService systemConfigService;
.......
}

由于之前没有用到框架 就直接写在了主函数中

public static void main(String[] args) throws Exception {
        SiteJob siteJob = new SiteJob();
        File newSite = new File("D:/ssrTask/newToolExcel.txt");
        List<String> readLines = FileUtils.readLines(newSite, "utf-8");
        for (String line : readLines) {
            try {
                //去掉标识
                if (line.startsWith("\uFEFF")) {//* string = string.substring(1); *//*
                    line = line.replace("\uFEFF", "");
                }
                //任务1
                siteJob.tempJob(line);
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        //任务2
        siteJob.downloadJob();
 }

后来因为需要使用框架 则移到了Junit Test中

@Test

public void.....{

/*代码同上*/}

启动了之后发现注入的在最开始可以正常注入 但是到我调用的地方就变为了null

经排查 发现我忘记改动代码  SiteJob s = new SiteJob();

在这一行 本被注入好各种属性与类的siteJob 被我重新new了一下 所以就出现了注入的类都为null

改为:删除new语句 函数直接调用  成功解决

猜你喜欢

转载自blog.csdn.net/he37176427/article/details/88816905