Spring boot里面线程类里面调用service

用model、service和controller实现了从数据查询数据的功能后,想要在普通线程类里面调用service的方法过程中就遇到一系列的问题。下面挨个做些笔记,以防下次遇到。

1.普通类里面调用service

网上搜资料  查到一种可行的方法,如下:

http://blog.csdn.net/u011385445/article/details/49305519

总结出来就是要先建立一个工具类SpringUtil,这个工具类实现了接口ApplicationContextAware ,然后在代码里写上application的get set方法,方便我们去获取我们想要的bean。       具体的代码 请参考上面博客内容。

2.使用上面的方法是出现的问题

在使用过程中一直在报application为null的错误  经过反复考虑 测试 。发现原因,是因为我的项目入口类实现了 InitializingBean接口,然后将调用线程类的语句写在了afterPropertiesSet()方法里面。而InitializingBean接口为bean提供了初始化方法的方式,它只包括afterPropertiesSet方法,凡是继承该接口的类,在初始化bean的时候会执行该方法。所以意味着在application还没有初始化的时候,已经被调用了 所以导致一直报空指针异常。

那对于这样的问题该怎么解决呢?

3.解决执行顺序的问题

在项目入口里面,在afterPropertiesSet()方法前面注入service,然后将此service作为参数,传到线程类里面,再次执行程序的时候发现一切都正常了!

4.直觉告诉我还有更好的方法  可以解决这个问题 ,留着以后慢慢发现!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,799评论 19 139
  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 47,117评论 6 342
  • 小编费力收集:给你想要的面试集合 1.C++或Java中的异常处理机制的简单原理和应用。 当JAVA程序违反了JA...
    八爷君阅读 10,198评论 1 114
  • 从三月份找实习到现在,面了一些公司,挂了不少,但最终还是拿到小米、百度、阿里、京东、新浪、CVTE、乐视家的研发岗...
    时芥蓝阅读 42,475评论 11 349
  • 吵架真的很反应一个人的素质和心理承受能力,与此同时也能把自己内心深处的东西激发出来! 我和宝宝...
    sun清风悠扬阅读 514评论 2 3