Подтвердить что ты не робот

Как импортировать Java-config-класс в XML-config, чтобы оба контекста имели beans?

У меня есть проект, где мне нужно загружать классы java-config @Configuration java-config в конфигурацию XML.

Чтобы сделать это, я читаю, что мне также необходимо включить следующее определение bean (наряду с определениями bean классов, аннотированных с помощью @Configuration).

<bean class="org.springframework.config.java.process.ConfigurationPostProcessor" />

Но в итоге я получаю следующую ошибку:

Caused by: java.lang.ClassNotFoundException: org.springframework.config.java.process.ConfigurationPostProcessor

Я должен предположить, что я где-то не встречал банку, но мои различные поисковые запросы в Интернете еще не дали ответа. Любая помощь будет принята с благодарностью. Спасибо.

EDIT: Очевидно, я читал старую документацию, которая больше не актуальна. Позвольте мне вернуться. Мой проект содержит более старую конфигурацию на основе XML. Новый код использует "Java-config". С учетом сказанного контексты, по-видимому, совершенно раздельны. Я хотел бы "импортировать" класс java-config в конфигурацию XML, так что оба контекста имеют те особенности beans. Кто-нибудь знает, как я могу это сделать?

4b9b3361

Ответ 1

Это на самом деле оказалось довольно простым. Чтобы получить определение Java-config bean в xml-config, просто определите класс Java-config как bean в XML-config. Нет необходимости в дополнительных баночках.

@Configuration
public class SomeJavaConfig {

    @bean
    ... [bean definition]
}

внутри XML-config вы определяете этот класс как bean.

<!-- needed to pick up the annotated java-config -->
<context:annotation-config />

<!-- Importing java-config class, which are annotated with @Configuration -->
<bean name="SomeJavaConfig" class="[fully qualified path].SomeJavaConfig" />

XML-config, который может быть частью другого контекста, теперь имеет все определения bean, определенные в классе JavaConfig.

ОБНОВЛЕНО - чтобы включить комментарий Алана Францони ниже в ответ.

Ответ 2

Должно быть в:

spring-javaconfig-<version>.jar