2

私のプロジェクトは、複数の Spring サブプロジェクトで構成されています。

  • サービス1
  • サービス2
  • サービス3

すべてのサービスには、内部の他の Bean への複数の依存関係があるため、すべてのサービスには、サービスを結び付ける applicationContext.xml があります。

私はすべてのサブプロジェクトをスタンドアロンの Maven ビルドにし、これらの Service{1..3} を一緒に接続する AllServicesTogether アプリケーションを作成できると考えました。

これは、これらのサービスに maven の依存関係を追加することで機能します。

<dependencies>
    <dependency>
        <groupId>org.myproject</groupId>
        <artifactId>myproject-service{1..3}</artifactId>
        <version>0.1-SNAPSHOT</version>
    </dependency>
    ...
</dependencies>

ただし、AllServicesTogether アプリケーション内では、SubServices のすべての配線が失われます。サブサービスはサブサービス ApplicationContext でコンパイルされていないと思いますが、AllServicesTogether ApplicationContext を使用します。

アイデアは、SubSerivces のすべての配線をカプセル化し、次を使用して AllServicesTogether を単純に配線することです。

<beans ..>
    <bean class="org.myproject.service1.Service1"/>
    <bean class="org.myproject.service1.Service2"/>
    <bean class="org.myproject.service1.Service3"/>
</beans>

私はそれに何時間も費やしたより大きなプロジェクトからそれらのサブプロジェクトを作成しました。この配線方法を使用することは可能ですか、それともすべてのサービスから context.xml を含める必要がありますか?

4

2 に答える 2

3

これらのサービスの context.xml を含める必要があります。これは、AllServicesTogether-context.xml で「インポート」を使用して行うのが最適です。

<import resource="classpath*:/META-INF/spring/service1-context.xml" />
<import resource="classpath*:/META-INF/spring/service2-context.xml" />
<import resource="classpath*:/META-INF/spring/service3-context.xml" />
于 2012-05-09T18:59:59.977 に答える
1

classpath*:/META-INF/spring/*-context.xml を使用

参考文献:</p>

  1. Spring アプリケーション コンテキストの読み込みのコツ
  2. Jar からの複数の XML ファイルを含む Spring ApplicationContext
于 2012-10-18T02:37:12.293 に答える