前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >记录一次SpringBoot Autowired为null的错误

记录一次SpringBoot Autowired为null的错误

作者头像
heasy3
发布2020-08-02 14:08:47
1.4K0
发布2020-08-02 14:08:47
举报
文章被收录于专栏:用户7614879的专栏

在一个测试类中使用

代码语言:javascript
复制
@RunWith(SpringRunner.class)
@SpringBootTest
public class SuiSiteJob {

    @Autowired
    SiteService siteService;

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

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

代码语言:javascript
复制
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语句 函数直接调用 成功解决

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/03/26 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档