2016-08-04 4 views
0

2つのSpringブートプロジェクトがあるとします。最初のプロジェクトは、さまざまな機能を提供する単なるサポートライブラリです。 2つ目は、サポートプロジェクト(jar)を使用する「メイン」プロジェクト(プライマリライブラリ)です。Springブートを使用して別のライブラリで外部ライブラリを設定するのを避ける方法

サポートライブラリには、プライマリプロジェクトによって自動起動されるサービスがいくつかあります。

プライマリライブラリでサポートライブラリの設定を行う必要がないように、サポートライブラリを設定するにはどうすればよいですか。本質的に私はコンポーネントスキャンについて話しています。

私が今まで読んだのは、主要ライブラリには、コンポーネントスキャンでサポートライブラリのパッケージを含める必要があるということです。これは本当に本当ですか?私の意見では、サポートライブラリはそれ自体ですべての設定を行うべきであり、このサポートライブラリを使用するだけで別のライブラリ(またはプロジェクト)がサポートライブラリの設定に対処する必要がないからです。

本質的には、サポートライブラリが@Configurationアノテーションまたはそのようなもの(または@SpringBootApplication)を介して構成され、別のライブラリが他のライブラリのすべての詳細を処理する必要がないかどうかは疑問です。私は、他の図書館がその構成に関して図書館をサポートしているために仕事をしなければならないことが非常に有望であると考えているため、これは何とかうまくいくことを本当に願っています。

答えて

0

さて、私は自分自身で解決策を見つけました。

トリックは次のとおりです。

サポートプロジェクトには設定クラスがあります(これは既に持っていましたが、考慮されていません)。 次のようにサポートするライブラリの設定クラスは、基本的になります。

@SpringBootApplication 
public class SupportLibApplication { 
} 

主なプロジェクトは、構成クラスを持っています。このトリックは、プライマリプロジェクトの構成クラスに、サポートするクラスの構成クラスを含めることです。これは私の欠けているリンクでした。 主要プロジェクトのコンフィギュレーションクラスは今のようなことになります。あなたは春のブートを使用しているよう

@SpringBootApplication 
@Import({SupportLibApplication.class}) 
public class QuestApplication extends WebMvcConfigurerAdapter { 
… 
} 
+0

かは、あなた自身の自動構成を作成する方法についてのセクションを読んで、インポートを省略することができますし、あなただけに必要依存関係を追加します。 –

関連する問題