Могу ли я заставить Eclipse распознавать bean-компоненты Spring в нескольких XML-файлах?

Мое приложение загружает определения компонентов Spring из двух файлов XML:

String[] beandefs = new String[] {
        "commonConfig.xml",
        "specificConfig.xml"
  };
  ApplicationContext context = new ClassPathXmlApplicationContext(
        beandefs);

Это связано с тем, что commonConfig.xml содержит определения, которые мне нужны во всех развертываниях. specificConfig.xml имеет определения, которые я заменяю для других реализаций в тестовых развертываниях.

Это работает нормально, за исключением того, что когда компонент ссылается на другой компонент в другом файле, Eclipse (STS) помечает это предупреждением.

например Если commonConfig.xml содержит:

  <bean id="foo" class="com.example.Foo">
    <property name="bar" ref="bar" />
  </bean>

... и specificConfig.xml содержит:

  <bean id="bar" class="com.example.Bar">
       ...
  </bean>

Приложение работает нормально, но Eclipse предупреждает в commonConfig.xml:

 Referenced bean 'bar' not found.

Как я могу сказать Eclipse искать в обоих файлах?


person slim    schedule 23.01.2014    source источник


Ответы (2)


Да: вам нужно открыть элемент «Бобы» в представлении «Spring Explorer», там вы можете настроить различные файлы, которые должны быть загружены (вкладка «configFiles»), а на вкладке «Наборы конфигураций» вы можете создать новый набор конфигураций. и определите xmls, принадлежащие этому контексту.

введите здесь описание изображения

person Ralph    schedule 23.01.2014

Да, все, что вам нужно сделать, это создать «набор конфигураций». Чтобы найти его, перейдите в свойства проекта. Затем сверните «Весна» и выберите «Поддержка Bean». Одна из вкладок — «Наборы конфигураций».

person Kevin Bayes    schedule 23.01.2014
comment
Спасибо. Принял ответ @Ralph из-за скриншота, но спасибо за этот ответ, который столь же правильный. - person slim; 23.01.2014