Сканирование компонентов Spring в OSGi ничего не обнаруживает

Используя определения Spring-Context MANIFEST , я пытаюсь выполнить сканирование компонентов для поиска пакетов для Spring аннотированных beans. Моя конфигурация XML Spring выглядит примерно так:




    
    

    
....


В МАНИФЕСТЕ я импортирую пакеты, содержащие классы с аннотациями Spring. Однако, когда я проверяю ApplicationContext, в нем нет аннотированных bean-компонентов.

Я считаю, что это происходит потому, что пути к классам, которые мы сканируем, находятся в разных пакетах.Эти пакеты не импортируют напрямую пакеты с классами, в которых есть аннотации Spring. Что сбивает с толку, так это то, почему Spring не выбирает путь к классам основного пакета, из которого запускается сканирование компонентов? Кажется, что он использует путь к классам каждого пакета при сканировании пути к классам. Есть ли способ заставить сканирование пути к классам использовать путь к классам пакета, в котором начинается сканирование?

Редактировать

Как сказал Данаил Начев ниже, когда Spring выполняет сканирование пути к классам, это происходит только внутри модуля, в котором путь к классам Обходной момент заключается в использовании:

  1. Поместите свои конфигурации для каждого модуля в bean-компонент Spring 3 @Configuration .
  2. Используйте XML-файл в вашем пакете верхнего уровня, который инициализирует bean-компонент @Configuration .
  3. На верхнем уровне @Configuration bean-компонент @Import используется для импорта других файлов конфигурации.
  4. Убедитесь, что Требовать-Объедините в свой МАНИФЕСТ, чтобы убедиться, что импортируемая конфигурация доступна.

5
задан Arthur Maltson 12 December 2011 в 16:03
поделиться