首页 > 代码库 > spring 多线程 注入 服务层 问题

spring 多线程 注入 服务层 问题

在用多线程的时候,里面要用到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 多线程 注入 服务层 问题 了,恩恩,至少我的解决了!