Почему не функционируют не функционировать в потоке?

Я сделал проект Maven весной 3.0, я сделал некоторые DAO, Услуги и контроллеры, в одном из системных контроллеров, я называю услугу, в котором я запускаю нить, проблема в том, что в потоке я объявляю «переменную службы», которая должна быть инициализирована с аннотированием, но она не работает И переменная не инициализирована и имеет значение NULL.

Это класс потоков

package com.project.tasks;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.task.TaskExecutor;
import org.springframework.stereotype.Component;

import com.project.entities.user.User;
import com.project.services.IUserService;

@Component
public class AddFriendInMyFriendListTaskExecutor {
private class AddFriendInMyFriendListTask implements Runnable {


     // HERE IS THE PROBLEM
    @Autowired
    private IUserService uService;

    private User a;
    private User b;

    public AddFriendInMyFriendListTask() {
        ;
    }

    public AddFriendInMyFriendListTask(User aA, User bB) {
        a = aA;
        b = bB;
    }

    public User getA() {
        return a;
    }
    public void setA(User a) {
        this.a = a;
    }
    public User getB() {
        return b;
    }
    public void setB(User b) {
        this.b = b;
    }


    public void run() {
                    // FROM HERE IT PRINTS THE VALUE OF uService THAT IS NULL
        System.out.println("uService:" + uService);
        uService.insertRightUserIntoLeftUserListOfFriends(a, b);
    }
}

private TaskExecutor taskExecutor;

  public AddFriendInMyFriendListTaskExecutor(TaskExecutor taskExecutor) {
    this.taskExecutor = taskExecutor;
  }

  public void doIt(User a, User b) {
      taskExecutor.execute(new AddFriendInMyFriendListTask(a, b));
  }
}

Это кусок кода, который вызывает поток

    User a = uDao.getUser(hrA.getMyIdApp());
    User b = uDao.getUser(hrA.getOtherIdApp());
    SimpleAsyncTaskExecutor taskExecutor = new SimpleAsyncTaskExecutor();
    AddFriendInMyFriendListTaskExecutor tmp = new AddFriendInMyFriendListTaskExecutor(taskExecutor);
    tmp.doIt(a, b);

, который я хотел бы подчеркнуть, что во всех других тестах, в которых я не называю какие-либо темы, авторов Экземпляры пользователей функционируют правильно! Метод, который я называю: InsertrightuserIntoleftuserListOffrients (пользователь A, пользователь б), работает правильно.

7
задан stacker 13 September 2011 в 21:04
поделиться