2016-03-25 16 views
0

をブートストラップの推奨方法についての説明が必要、いることを言及している:<a href="http://docs.spring.io/spring-boot/docs/current/api/org/springframework/boot/SpringApplication.html" rel="nofollow"><code>SpringApplication</code></a>用のJavaドキュメントで春ブートアプリケーション

SpringApplication sが異なる さまざまなソースからの豆を読むことができます。これは、一般的に

は、この文は、唯一持っているへのアプリのために推奨されていることを意味しています[...]単一@Configuration クラスは、アプリケーションをブートストラップするために使用されることをお勧めします1つの@Configurationクラス、または@Configurationの注釈を付けられたクラスをSpringApplication(例:runメソッド)に渡すことをお勧めしますか?@Configurationクラスの数に制限はありませんか?

また、私は解釈する文の残りの部分は難しい:

[...]しかし、以下のソースのいずれかを使用することもできます。

  • Class - JavaクラスXmlBeanDefinitionReader、または GroovyBeanDefinitionReader
  • によってロードされるのGroovyスクリプトによってロードされるXMLリソース - AnnotatedBeanDefinitionReader
  • Resourceによってロードされます
  • PackageからClassPathBeanDefinitionScanner
  • CharSequenceによってスキャンされるJavaパッケージ - 必要に応じてロードされたのクラス名、リソース・ハンドルまたはパッケージ名。 CharSequenceが クラスに解決されず、存在するResourceに解決されない場合、 はPackageとみなされます。私は今、そののJavaDocの説明を読んだ、何の問題もなく前SpringApplication.runを使用しているが

私は完全に混乱しています。

答えて

1

これは私がそれを理解する方法です:

単一@Configurationクラスは、アプリケーション

をブートストラップするために使用されますが、アプリケーションのルート構成である1つの@Configurationクラスを持つ必要があります。

これにより、設定がわかりやすくなり、デバッグが容易になります。 必ず@Importを使用して他の設定をインポートしてください。

実際には、テスト用とプロード用に異なるルート構成を使用している可能性があります。しかし、出発点として常に1つだけを使用します。

しかし、次のソースのいずれも使用することができる。

部分はソースのタイプは、アプリケーション・コンテキストを作成するために使用することができる記述する。これらのソースは、コンストラクタに渡すことができます。

public SpringApplication(Object... sources) 

やセッター:

public void setSources(Set<Object> sources) 
  • クラス - Spring構成
  • とxmlファイル - @Configuration
  • リソースで注釈を付けたクラス
  • パッケージ - 構成を検索するためにスキャンされるパッケージ
  • CharSequence - 文字列t彼はクラスまたはパッケージの名前です。これにより、例えば、コンパイル時に利用できない構成クラスを使用する。

私は個人的にコンストラクタまたはセッタにソースを提供するSpringApplicationを設定していません。私は1つのルート構成を持ち、@ImportでSpringApplicationクラスに注釈を付けます。あなたが@SpringApplication@EnableAutoConfiguration春ブーツになりますautomatically configure your Spring application based on the jar dependencies that you have added

を使用して、同じルート@SpringApplication@EnableAutoConfigurationに、必要に応じて別の手@Configurationで、それは多くとして使用することができ、アプリケーション内で一度だけ使用されるべき

0

春はあなたが私の理解@EnableAutoConfiguration@SpringApplicationからプライマリ@EnableAutoConfiguration

https://docs.spring.io/spring-boot/docs/current/reference/html/using-boot-auto-configuration.html#using-boot-auto-configuration

にあなたが@Configuration秒を必要な数を含めると除外でき@EnableAutoConfiguration

を追加するだけで1つの主要@Configurationを持っていることをお勧めほとんど同じ仕事がある

関連する問題