最近启动运行springboot项目发现Main函数中,SpringApplication.run(XiaoTongApplication.class,args)这段代码后面的代码都没有得到执行,后面的日志都没有输出。完整代码如下。
后来发现是因为项目工程中使用了启动加载类ApplicationRunner。完整代码如下。
这段代码的主要作用就是每隔几秒钟就会处理一下业务数据。
这段代码为什么会造成这个问题出现?
因为在run函数里面使用了while循环,使得run函数始终都不会结束,所以SpringApplication.run(XiaoTongApplication.class,args)这段代码也不会结束,后面的代码也不会得到执行。
这个问题如何解决?
只需要将while循环放到线程中去执行就可以了。完整代码如下。
至此,这个问题就解决了。
有问题欢迎反馈,大家一起交流学习!
如果对你有帮助,欢迎分享给你周围有需要的人!
相关文章
springboot+mybatis-plus+mysql实例
MyBatis-plus代码生成器生成的实体不包含
TableId,TableNameMybatis-Plus-Generator+达梦数据库无法自动生成代码
达梦,Cause:java.sql.SQLException:没有[USER]对象的查询权限