posts - 6,  comments - 3,  views - 44243
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

在用多线程的时候,里面要用到Spring注入服务层,或者是逻辑层的时候,一般是注入不进去的。具体原因应该是线程启动时没有用到Spring实例不池。所以注入的变量值都为null。

详细:http://hi.baidu.com/adrianbutler/item/800218d90f23b0e53dc2cb95

因为我用的是@Autowired注入,不知道为什么 解决不了我的问题,继续查找资料,好在柳暗花明

详细: http://blog.csdn.net/majian_1987/article/details/8157668

采用楼主所说的方法,我用的是springMVC

在Controller中创建Thread的时候把Controller中的service引用作为构造参数传递给Thread,这样Thread中的Service对象就是通过SPring的自动注入得到的了。

这是实现 线程的时候  ImStuThread.java  ,哈哈,引用注入有点多啊

复制代码
  private IDepartmentService departmentService;
    private IUserService userService;
    private IMajorService majorService;
    private IClassxService classxService;
    private IGradeService gradeService;
    private String user;
    
    public ImStuThread(IDepartmentService departmentService,IUserService userService,IMajorService majorService,
            IClassxService classxService,IGradeService gradeService,String user){
        this.departmentService = departmentService;
        this.userService = userService;
        this.majorService = majorService;
        this.classxService = classxService;
        this.gradeService = gradeService;
        this.user = user;
    }
复制代码

在 Controller 中就可以这样实现了

ImStuThread imStuThread = new ImStuThread(departmentService,userService,majorService,classxService,gradeService,user);

这样就可以解决 spring 多线程 注入 服务层 问题 了,恩恩,至少我的解决了!

posted on   b4ping  阅读(2155)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
点击右上角即可分享
微信分享提示