Автоматическое подключение аннотируемого класса @Component из другого аннотируемого класса @Component весной mvc

У меня есть бин под названием InjectionTest, и он аннотирован @Component, Когда я автоматически подключаю этот бин в контроллере, он работает нормально. Но когда я пытаюсь использовать его в другом классе с @Component Аннотация, AutoWire не работает, и я получаю исключение нулевого указателя. Есть идеи?

Класс InjectionTest

@Component
public class InjectionTest {

    private String word;

    public String getWord() {
        return "test";
     }

     public void setWord(String word) {
       this.word = word;
     }
}

Ниже приведен метод класса контроллера, который работает нормально

@Controller
@CrossOrigin(origins = "*")
public class UserController {

    @Autowired
    AppConfig appConfig;

    @Autowired
    InjectionTest injectionTest;

    @RequestMapping(value = "/api/user/authentication", method = RequestMethod.POST)
    @ResponseBody
    public String authentication(HttpServletResponse res, @RequestParam Map<String, String> allRequestParams,
            HttpServletRequest req) {

        //I dont get an exception in the below line it works fine..
        System.out.println(injectionTest.getWord());
        ....
    }
}

Ниже представлен компонент, который я хочу автоматически связать с классом InjectionTest и получить исключение нулевого указателя при создании...

@Component
public class HelloComponent {

    @Autowired
    InjectionTest injectionTest;

    public HelloComponent(){
    //I get null pointer exception in the below line.
        injectionTest.getWord();
    }

}

SEVERE: StandardWrapper.Throwable org.springframework.beans.factory.BeanCreationException: ошибка создания бина с именем 'helloComponent', определенным в файле [C:\Repo.metadata.plugins\org.eclipse.wst.server.core\tmp3\wtpwebapp AdaRvmWeb\WEB-INF\classes\tr\com\simroll\ada\rvm\web\entity\HelloComponent.class]: не удалось создать экземпляр компонента; вложенным исключением является org.springframework.beans.BeanInstantiationException: не удалось создать экземпляр [tr.com.simroll.ada.rvm.web.entity.HelloComponent]: конструктор вызвал исключение; Вложенным исключением является java.lang.NullPointerException

Я действительно смущен. Есть ли порядок или что-то во время создания. Если так, как я могу решить эту проблему? Спасибо..

0 ответов

Другие вопросы по тегам