Это мой app.xml:
<context:component-scan base-package="destiny.web" />
<context:annotation-config/>
И есть Dao
(интерфейс) и DaoImpl
(помечены @Repository
) внутри пакета destiny.web.
Существует еще один класс destiny.web.AppConfig в Spring3:
@Configuration
public class AppConfig
{
@Inject
private Dao daoImpl
public AppConfig()
{
System.out.println("dao = " + daoImpl);
}
}
Он печатает 'null', почему?
Я уверен, что все эти компоненты / конфигурация / репозитории сканируются.Но, похоже, @Configuration не знает других отсканированных компонентов.Я что-то пропустил?
Я пытаюсь решить это с помощью @ImportResource:
@Configuration
@ImportResource("classpath:app.xml")
public class AppConfig
Но кажется, что это вызывает циклическое сканирование bean-компонентов и выдает это исключение:
{main} org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration problem: Only one AsyncAnnotationBeanPostProcessor may exist within the context.
Offending resource: class path resource [app.xml]
Как это решить?
Спасибо.