Я не могу получить поля моего сервлета @AutoWire; они заканчиваются нулевым. У меня есть чистая конфигурация, настроенная на аннотацию (без файлов XML). Мой сервлет выглядит следующим образом:Ошибка @AutoWire участника в @WebServlet
@WebServlet("/service")
public
class
SatDBHessianServlet
extends HttpServlet
{
@Autowired protected NewsItemDAO mNewsItemDAO;
}
Других @AutoWired вещь, кажется, работает хорошо, как @Service объектов и @Repository объектов. Но не этот, и я не могу понять, почему. Я даже попытался добавить свой пакет в список ComponentScan (basePackages) для других моих классов.
Дополнительная информация:
Я добавил следующее инициализации моего сервлета() метод, и все, казалось проволокой правильно, но я запутался, почему весна не может подключить его без того, ,
SpringBeanAutowiringSupport.processInjectionBasedOnServletContext(this, inConfig.getServletContext());
Возможный дубликат [Почему моя весна @Полученное поле null?] (Http://stackoverflow.com/questions/19896870/why-is-my-spring-autowired-field-null) – chrylis
Ну, этот вопрос имеет дело с объектами, созданными с помощью нового, что не то, что я здесь делаю, хотя, поскольку Spring не создает его, я думаю, это может быть эквивалентно. Я попробую их решение с @Configurable. – Rick
Ситуация та же; 'new' вызывается тем, что контейнер Spring не знает для обработки (в данном случае непосредственно контейнером сервлета). Почему вы вручную пишете сервлет вместо поддержки фреймворка? – chrylis