【转】关于springboot启动时会运行两次

文章转自↓

https://blog.csdn.net/weixin_44280273/article/details/107307439

 

关于springboot启动时会运行两次
背景:今天在做项目的时候需要再启动时进行自动操作,便想试试在启动类中加入部分代码,便随手加了一个输出,执行了。然后发现输出了两次,对此上网进行相关资料查询。
经过测试,偶然又发现具体是SpringApplication.run()前面的代码执行两边,而后面的代码只执行了一次

@SpringBootApplication
public class RetrogamesApplication {

    public static void main(String[] args) {
        System.out.println("aaa");
        SpringApplication.run(RetrogamesApplication.class, args);
        System.out.println("bbb");
    }
}

网上查询后发现罪魁祸首是热部署包,删掉该依赖后没有再出现上述问题

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-devtools</artifactId>
</dependency>

查询过程也发现引入该依赖会有一些坑,如导致类型转换异常等

posted @ 2021-06-15 18:06  孙公  阅读(1368)  评论(0编辑  收藏  举报