Я работаю над своим первым проектом Spring, и я столкнулся с досадной проблемой.Некоторые объекты, установленные @Autowired всегда равны нулю, другие в порядке
У меня есть класс с именем «UsernameService», который выполнен в виде боба в диспетчерском-servlet.xml:
<bean id="usernameService" class="service.UsernameService" scope="session" >
<aop:scoped-proxy />
</bean>
и когда этот компонент создается в одном из моих классов (определение фасоли :)
<bean id="testController" class="controller.TestController" />
как таковой:
@Autowired
UsernameService uns;
это работает абсолютно нормально. Однако, когда я пытаюсь сделать то же самое в другом классе, LogController:
<bean id="logController" class="controller.LogController" />
, то он не работает, и я получаю следующее сообщение об ошибке:
SEVERE: Servlet.service() for servlet [dispatcher] in context with path [/flexitime] threw exception [Request processing failed; nested exception is java.lang.NullPointerException] with root cause java.lang.NullPointerException
Я сумел (я считаю,) приписывают эту ошибку тому факту, что uns никогда фактически не устанавливается/не создается и остается в NULL внутри LogController.
У меня это было много, и мы нашли множество «решений», однако пока никто из них не работал.
Спасибо! Джеймс
Как это LogController доступ. У вас есть метод с @RequestMapping, который вызывается в ответ на веб-запрос или вы делаете новый LogController где-то в своем коде? – gkamal
Объект не может быть создан 'new' для инъекций для работы. –
@gkamal Доступ к LogController осуществляется с другого контроллера, и он сам является автосохраненным компонентом: '@Autowired (новая строка) LogController ls'. @thorb Я не использую новое ключевое слово для инициализации класса. – ymhr