Причина кроется здесь:
<context:annotation-config />
<!--<context:component-scan base-package="com/abc" /> -->
Включая annotation-config
, вы разрешаете Spring использовать такие расширения, как @Autowired
аннотация.Это, однако, не означает, что Spring будет знать, как это сделать самостоятельно.
Чтобы @Autowired
работал, вам нужно определить соответствующий компонент в контексте вашего приложения.Вы можете сделать это либо вручную (поместив <bean>
объявлений в XML), либо автоматически (используя component-scan
).
Решение
попытаться раскомментировать <context:component-scan />
и установите правильное значение base-package
, соответствующее пакету компонентов, который вы хотите подключить автоматически.
Примечание
, если компоненты, которые вы хотите подключить, принадлежат третьей сторонебиблиотека, обычно более удобно использовать явное определение <bean class="com.somecompany.SomeComponent" />
в XML.