Я работаю над своим первым проектом Spring и столкнулся с неприятной проблемой.
У меня есть класс с именем «UsernameService», который настроен как bean-компонент в файле dispatcher-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" />
то это не работает, и я получаю следующую ошибку:
СЕРЬЕЗНЫЙ: Servlet.service() для сервлета [диспетчер] в контексте с путем [/flexitime] вызвал исключение [Ошибка обработки запроса; вложенным исключением является java.lang.NullPointerException] с основной причиной java.lang.NullPointerException
Мне удалось (я полагаю) приписать эту ошибку тому факту, что uns на самом деле никогда не устанавливается/не создается и остается нулевым внутри LogController.
Я много гуглил и нашел много «решений», однако пока ни одно из них не сработало.
Спасибо! Джеймс
new
для работы инъекции. - person Thorbjørn Ravn Andersen   schedule 11.04.2012@Autowired (new line) LogController ls
. @thorb Я не использую ключевое слово new для инициализации класса. - person ymhr   schedule 11.04.2012