パッケージ org.springframework.boot

クラス SpringApplication

java.lang.ObjectSE
org.springframework.boot.SpringApplication

public class SpringApplication extends ObjectSE
Java メインメソッドから Spring アプリケーションをブートストラップして起動するために使用できるクラス。デフォルトでは、クラスは次の手順を実行してアプリケーションをブートストラップします。
  • 適切な ApplicationContext インスタンスを作成します (クラスパスに応じて)
  • CommandLinePropertySource を登録して、コマンドライン引数を Spring プロパティとして公開します
  • アプリケーションコンテキストをリフレッシュし、すべてのシングルトン Bean をロードします
  • CommandLineRunner Bean をトリガーします
ほとんどの場合、静的メソッド run(Class, String[]) をメインメソッドから直接呼び出して、アプリケーションをブートストラップできます。
 @Configuration
 @EnableAutoConfiguration
 public class MyApplication  {

   // ... Bean definitions

   public static void main(String[] args) {
     SpringApplication.run(MyApplication.class, args);
   }
 }
 

より高度な構成の場合、実行前に SpringApplication インスタンスを作成およびカスタマイズできます。

 public static void main(String[] args) {
   SpringApplication application = new SpringApplication(MyApplication.class);
   // ... customize application settings here
   application.run(args)
 }
 
SpringApplication は、さまざまなソースから Bean を読み取ることができます。一般に、単一の @Configuration クラスを使用してアプリケーションをブートストラップすることをお勧めしますが、sources を以下から設定することもできます。構成プロパティも SpringApplication にバインドされます。これにより、追加のソース("spring.main.sources" -CSV リスト)のように、SpringApplication プロパティを動的に設定して、Web 環境を示すフラグ("spring.main.web-application-type = none")やバナーをオフにするフラグを設定できます。("spring.main.banner-mode = off")。
導入:
1.0.0
作成者:
Phillip Webb, Dave Syer, Andy Wilkinson, Christian Dupuis, Stephane Nicoll, Jeremy Rickard, Craig Burke, Michael Simons, Madhura Bhave, Brian Clozel, Ethan Rubinson, Chris Bono, Moritz Halbritter, Tadaya Tsuyukubo, Lasse Wulff, Yanming Zhou
関連事項:
  • フィールドの詳細

  • コンストラクターの詳細

    • SpringApplication

      public SpringApplication(ClassSE<?>... primarySources)
      新しい SpringApplication インスタンスを作成します。アプリケーションコンテキストは、指定されたプライマリソースから Bean をロードします(詳細については、class-level のドキュメントを参照してください)。インスタンスは、run(String...) を呼び出す前にカスタマイズできます。
      パラメーター:
      primarySources - プライマリ Bean ソース
      関連事項:
    • SpringApplication

      public SpringApplication(ResourceLoader resourceLoader, ClassSE<?>... primarySources)
      新しい SpringApplication インスタンスを作成します。アプリケーションコンテキストは、指定されたプライマリソースから Bean をロードします(詳細については、class-level のドキュメントを参照してください)。インスタンスは、run(String...) を呼び出す前にカスタマイズできます。
      パラメーター:
      resourceLoader - 使用するリソースローダー
      primarySources - プライマリ Bean ソース
      関連事項:
  • メソッドの詳細

    • run

      Spring アプリケーションを実行して、新しい ApplicationContext を作成およびリフレッシュします。
      パラメーター:
      args - アプリケーションの引数 (通常、Java メインメソッドから渡されます)
      戻り値:
      実行中の ApplicationContext
    • configureEnvironment

      protected void configureEnvironment(ConfigurableEnvironment environment, StringSE[] args)
      configurePropertySources(ConfigurableEnvironment, String[]) および configureProfiles(ConfigurableEnvironment, String[]) にこの順序で委譲するテンプレートメソッド。環境のカスタマイズを完全に制御するにはこのメソッドをオーバーライドします。プロパティソースまたはプロファイルを詳細に制御するには、上記のいずれかをそれぞれオーバーライドします。
      パラメーター:
      environment - このアプリケーションの環境
      args - run メソッドに渡される引数
      関連事項:
    • configurePropertySources

      protected void configurePropertySources(ConfigurableEnvironment environment, StringSE[] args)
      このアプリケーションの環境で PropertySource を追加、削除、並べ替えます。
      パラメーター:
      environment - このアプリケーションの環境
      args - run メソッドに渡される引数
      関連事項:
    • configureProfiles

      protected void configureProfiles(ConfigurableEnvironment environment, StringSE[] args)
      このアプリケーション環境でアクティブ (またはデフォルトでアクティブ) のプロファイルを構成します。構成ファイルの処理中に、spring.profiles.active プロパティを介して追加のプロファイルをアクティブにすることができます。
      パラメーター:
      environment - このアプリケーションの環境
      args - run メソッドに渡される引数
      関連事項:
    • bindToSpringApplication

      protected void bindToSpringApplication(ConfigurableEnvironment environment)
      環境を SpringApplication にバインドします。
      パラメーター:
      environment - バインドする環境
    • createApplicationContext

      protected ConfigurableApplicationContext createApplicationContext()
      ApplicationContext の作成に使用される戦略方法。デフォルトでは、このメソッドは、適切なデフォルトにフォールバックする前に、明示的に設定されたアプリケーションコンテキストクラスまたはファクトリを考慮します。
      戻り値:
      アプリケーションコンテキスト (まだリフレッシュされていません)
      関連事項:
    • postProcessApplicationContext

      protected void postProcessApplicationContext(ConfigurableApplicationContext context)
      関連する後処理を ApplicationContext に適用します。サブクラスは、必要に応じて追加の処理を適用できます。
      パラメーター:
      context - アプリケーションコンテキスト
    • applyInitializers

      protected void applyInitializers(ConfigurableApplicationContext context)
      リフレッシュする前に、ApplicationContextInitializer をコンテキストに適用します。
      パラメーター:
      context - 設定された ApplicationContext (まだリフレッシュされていません)
      関連事項:
    • logStartupInfo

      protected void logStartupInfo(boolean isRoot)
      起動情報を記録するために呼び出され、サブクラスはオーバーライドして追加のログを追加できます。
      パラメーター:
      isRoot - このアプリケーションがコンテキスト階層のルートである場合は true
    • logStartupProfileInfo

      protected void logStartupProfileInfo(ConfigurableApplicationContext context)
      アクティブなプロファイル情報を記録するために呼び出されます。
      パラメーター:
      context - アプリケーションコンテキスト
    • getApplicationLog

      protected Log getApplicationLog()
      アプリケーションの Log を返します。デフォルトでは推定されます。
      戻り値:
      アプリケーションログ
    • load

      protected void load(ApplicationContext context, ObjectSE[] sources)
      Bean をアプリケーションコンテキストにロードします。
      パラメーター:
      context - Bean をロードするコンテキスト
      sources - ロードするソース
    • getResourceLoader

      public ResourceLoader getResourceLoader()
      ApplicationContext で使用される ResourceLoader。
      戻り値:
      resourceLoader ApplicationContext で使用されるリソースローダー (デフォルトの場合は null)
    • getClassLoader

      public ClassLoaderSE getClassLoader()
      ApplicationContext で使用される ClassLoader(resourceLoader が設定されている場合)、コンテキストクラスローダー(null でない場合)、または Spring ClassUtils クラスのローダーのいずれか。
      戻り値:
      ClassLoader (非 null)
    • createBeanDefinitionLoader

      protected org.springframework.boot.BeanDefinitionLoader createBeanDefinitionLoader(BeanDefinitionRegistry registry, ObjectSE[] sources)
      BeanDefinitionLoader の作成に使用されるファクトリメソッド。
      パラメーター:
      registry - Bean 定義レジストリ
      sources - ロードするソース
      戻り値:
      Bean のロードに使用される BeanDefinitionLoader 
    • refresh

      protected void refresh(ConfigurableApplicationContext applicationContext)
      基になる ApplicationContext をリフレッシュします。
      パラメーター:
      applicationContext - リフレッシュするアプリケーションコンテキスト
    • afterRefresh

      protected void afterRefresh(ConfigurableApplicationContext context, ApplicationArguments args)
      コンテキストがリフレッシュされた後に呼び出されます。
      パラメーター:
      context - アプリケーションコンテキスト
      args - アプリケーションの引数
    • registerLoggedException

      protected void registerLoggedException(ThrowableSE exception)
      指定された例外が記録されたことを登録します。デフォルトでは、メインスレッドで実行されている場合、このメソッドはスタックトレースの追加の出力を抑制します。
      パラメーター:
      exception - ログに記録された例外
    • getMainApplicationClass

      public ClassSE<?> getMainApplicationClass()
      推定または明示的に設定されたメインアプリケーションクラスを返します。
      戻り値:
      メインアプリケーションクラスまたは null
    • setMainApplicationClass

      public void setMainApplicationClass(ClassSE<?> mainApplicationClass)
      ログソースとして使用され、バージョン情報を取得する特定のメインアプリケーションクラスを設定します。デフォルトでは、メインアプリケーションクラスが推測されます。明示的なアプリケーションクラスがない場合は、null に設定できます。
      パラメーター:
      mainApplicationClass - 設定する mainApplicationClass または null
    • getWebApplicationType

      public WebApplicationType getWebApplicationType()
      実行中の Web アプリケーションの型を返します。
      戻り値:
      Web アプリケーションの型
      導入:
      2.0.0
    • setWebApplicationType

      public void setWebApplicationType(WebApplicationType webApplicationType)
      実行する Web アプリケーションの型を設定します。明示的に設定されていない場合、Web アプリケーションの型はクラスパスに基づいて推測されます。
      パラメーター:
      webApplicationType - Web アプリケーションの種類
      導入:
      2.0.0
    • setAllowBeanDefinitionOverriding

      public void setAllowBeanDefinitionOverriding(boolean allowBeanDefinitionOverriding)
      既存の定義と同じ名前の定義を登録することにより、Bean 定義のオーバーライドを許可するかどうかを設定します。デフォルトは false です。
      パラメーター:
      allowBeanDefinitionOverriding - オーバーライドが許可されている場合
      導入:
      2.1.0
      関連事項:
    • setAllowCircularReferences

      public void setAllowCircularReferences(boolean allowCircularReferences)
      Bean 間の循環参照を許可し、自動的に解決しようとするかどうかを設定します。デフォルトは false です。
      パラメーター:
      allowCircularReferences - 循環参照が許可されている場合
      導入:
      2.6.0
      関連事項:
    • setLazyInitialization

      public void setLazyInitialization(boolean lazyInitialization)
      Bean を遅延初期化する必要があるかどうかを設定します。デフォルトは false です。
      パラメーター:
      lazyInitialization - 初期化を遅延させる必要がある場合
      導入:
      2.2
      関連事項:
    • setHeadless

      public void setHeadless(boolean headless)
      アプリケーションがヘッドレスであり、AWT をインスタンス化しないかどうかを設定します。java アイコンが表示されないようにするには、デフォルトで true になります。
      パラメーター:
      headless - アプリケーションがヘッドレスの場合
    • setRegisterShutdownHook

      public void setRegisterShutdownHook(boolean registerShutdownHook)
      作成された ApplicationContext にシャットダウンフックを登録する必要があるかどうかを設定します。JVM のシャットダウンが正常に処理されるようにするため、デフォルトは true です。
      パラメーター:
      registerShutdownHook - シャットダウンフックを登録する必要がある場合
      関連事項:
    • setBanner

      public void setBanner(Banner banner)
      静的バナーファイルが提供されない場合にバナーを出力するために使用される Banner インスタンスを設定します。
      パラメーター:
      banner - 使用する Banner インスタンス
    • setBannerMode

      public void setBannerMode(Banner.Mode bannerMode)
      アプリケーションの実行時にバナーを表示するために使用されるモードを設定します。デフォルトは Banner.Mode.CONSOLE です。
      パラメーター:
      bannerMode - バナーの表示に使用されるモード
    • setLogStartupInfo

      public void setLogStartupInfo(boolean logStartupInfo)
      アプリケーションの起動時にアプリケーション情報を記録するかどうかを設定します。デフォルトは true です。
      パラメーター:
      logStartupInfo - 起動情報を記録する必要がある場合。
    • setAddCommandLineProperties

      public void setAddCommandLineProperties(boolean addCommandLineProperties)
      引数を公開するために、CommandLinePropertySource をアプリケーションコンテキストに追加する必要があるかどうかを設定します。デフォルトは true です。
      パラメーター:
      addCommandLineProperties - コマンドライン引数を公開する必要がある場合
    • setAddConversionService

      public void setAddConversionService(boolean addConversionService)
      ApplicationConversionService をアプリケーションコンテキストの Environment に追加するかどうかを設定します。
      パラメーター:
      addConversionService - アプリケーション変換サービスを追加する必要がある場合
      導入:
      2.1.0
    • addBootstrapRegistryInitializer

      public void addBootstrapRegistryInitializer(BootstrapRegistryInitializer bootstrapRegistryInitializer)
      BootstrapRegistry の初期化に使用できる BootstrapRegistryInitializer インスタンスを追加します。
      パラメーター:
      bootstrapRegistryInitializer - 追加するブートストラップレジストリ初期化子
      導入:
      2.4.5
    • setDefaultProperties

      public void setDefaultProperties(MapSE<StringSE,ObjectSE> defaultProperties)
      既存の Environment のプロパティに加えて使用されるデフォルトの環境プロパティを設定します。
      パラメーター:
      defaultProperties - 設定する追加のプロパティ
    • setDefaultProperties

      public void setDefaultProperties(PropertiesSE defaultProperties)
      setDefaultProperties(Map) の便利な代替。
      パラメーター:
      defaultProperties - いくつかの PropertiesSE
    • setAdditionalProfiles

      public void setAdditionalProfiles(StringSE... profiles)
      使用する追加のプロファイル値を設定します(システムまたはコマンドラインプロパティで設定された値の上に)。
      パラメーター:
      profiles - 設定する追加のプロファイル
    • getAdditionalProfiles

      public SetSE<StringSE> getAdditionalProfiles()
      使用中の追加プロファイルの不変セットを返します。
      戻り値:
      追加のプロファイル
    • setBeanNameGenerator

      public void setBeanNameGenerator(BeanNameGenerator beanNameGenerator)
      Bean 名を生成するときに使用する Bean 名ジェネレーターを設定します。
      パラメーター:
      beanNameGenerator - Bean 名前ジェネレーター
    • setEnvironment

      public void setEnvironment(ConfigurableEnvironment environment)
      作成されたアプリケーションコンテキストで使用される基本的な環境を設定します。
      パラメーター:
      environment - 環境
    • addPrimarySources

      public void addPrimarySources(CollectionSE<ClassSE<?>> additionalPrimarySources)
      run(String...) が呼び出されたときに ApplicationContext に追加されるプライマリソースに追加のアイテムを追加します。

      ここでのソースは、コンストラクターで設定されたソースに追加されます。ほとんどのユーザーは、このメソッドを呼び出すのではなく、getSources()/setSources(Set) の使用を検討する必要があります。

      パラメーター:
      additionalPrimarySources - 追加する追加のプライマリソース
      関連事項:
    • getSources

      public SetSE<StringSE> getSources()
      run(String...) が呼び出されたときに ApplicationContext に追加されるソースの可変セットを返します。

      ここで設定されたソースは、コンストラクターで設定されたプライマリソースに加えて使用されます。

      戻り値:
      アプリケーションのソース。
      関連事項:
    • setSources

      public void setSources(SetSE<StringSE> sources)
      ApplicationContext の作成に使用される追加ソースを設定します。ソースは、クラス名、パッケージ名、XML リソースの場所です。

      ここで設定されたソースは、コンストラクターで設定されたプライマリソースに加えて使用されます。

      パラメーター:
      sources - 設定するアプリケーションソース
      関連事項:
    • getAllSources

      public SetSE<ObjectSE> getAllSources()
      run(String...) が呼び出されたときに ApplicationContext に追加されるすべてのソースの不変のセットを返します。このメソッドは、コンストラクターで指定された主なソースを、explicitly set である追加のソースと組み合わせます。
      戻り値:
      すべてのソースの不変のセット
    • setResourceLoader

      public void setResourceLoader(ResourceLoader resourceLoader)
      リソースをロードするときに使用する ResourceLoader を設定します。
      パラメーター:
      resourceLoader - リソースローダー
    • getEnvironmentPrefix

      public StringSE getEnvironmentPrefix()
      システム環境から構成プロパティを取得するときに適用する必要があるプレフィックスを返します。
      戻り値:
      環境プロパティプレフィックス
      導入:
      2.5.0
    • setEnvironmentPrefix

      public void setEnvironmentPrefix(StringSE environmentPrefix)
      システム環境から構成プロパティを取得するときに適用するプレフィックスを設定します。
      パラメーター:
      environmentPrefix - 設定する環境プロパティプレフィックス
      導入:
      2.5.0
    • setApplicationContextFactory

      public void setApplicationContextFactory(ApplicationContextFactory applicationContextFactory)
      アプリケーションコンテキストを作成するために呼び出されるファクトリを設定します。設定されていない場合、デフォルトで、サーブレット Web アプリケーション用に AnnotationConfigServletWebServerApplicationContext、リアクティブ Web アプリケーション用に AnnotationConfigReactiveWebServerApplicationContext、および非 Web アプリケーション用に AnnotationConfigApplicationContext を作成するファクトリが作成されます。
      パラメーター:
      applicationContextFactory - コンテキストのファクトリ
      導入:
      2.4.0
    • setInitializers

      public void setInitializers(CollectionSE<? extends ApplicationContextInitializer<?>> initializers)
      Spring ApplicationContext に適用される ApplicationContextInitializer を設定します。
      パラメーター:
      initializers - 設定する初期化子
    • addInitializers

      public void addInitializers(ApplicationContextInitializer<?>... initializers)
      Spring ApplicationContext に適用される ApplicationContextInitializer を追加します。
      パラメーター:
      initializers - 追加する初期化子
    • getInitializers

      public SetSE<ApplicationContextInitializer<?>> getInitializers()
      Spring ApplicationContext に適用される ApplicationContextInitializer の読み取り専用の順序付きセットを返します。
      戻り値:
      イニシャライザー
    • setListeners

      public void setListeners(CollectionSE<? extends ApplicationListener<?>> listeners)
      SpringApplication に適用され、ApplicationContext に登録される ApplicationListener を設定します。
      パラメーター:
      listeners - 設定するリスナー
    • addListeners

      public void addListeners(ApplicationListener<?>... listeners)
      ApplicationListener を追加して、SpringApplication に適用し、ApplicationContext に登録します。
      パラメーター:
      listeners - 追加するリスナー
    • getListeners

      public SetSE<ApplicationListener<?>> getListeners()
      SpringApplication に適用され、ApplicationContext に登録される ApplicationListener の読み取り専用の順序付きセットを返します。
      戻り値:
      リスナー
    • setApplicationStartup

      public void setApplicationStartup(ApplicationStartup applicationStartup)
      スタートアップメトリクスの収集に使用する ApplicationStartup を設定します。
      パラメーター:
      applicationStartup - 使用するアプリケーションの起動
      導入:
      2.4.0
    • getApplicationStartup

      public ApplicationStartup getApplicationStartup()
      スタートアップメトリクスの収集に使用される ApplicationStartup を返します。
      戻り値:
      アプリケーションの起動
      導入:
      2.4.0
    • isKeepAlive

      public boolean isKeepAlive()
      非デーモンスレッドがなくなった場合でもアプリケーションを存続させるかどうか。
      戻り値:
      非デーモンスレッドがなくなってもアプリケーションを存続させるかどうか
      導入:
      3.2.0
    • setKeepAlive

      public void setKeepAlive(boolean keepAlive)
      デーモン以外のスレッドがなくなってもアプリケーションを存続させるかどうかを設定します。
      パラメーター:
      keepAlive - 非デーモンスレッドがなくなってもアプリケーションを存続させるかどうか
      導入:
      3.2.0
    • getShutdownHandlers

      public static SpringApplicationShutdownHandlers getShutdownHandlers()
      JVM がシャットダウンされる前にアクションを実行するハンドラーを追加または削除するために使用できる SpringApplicationShutdownHandlers インスタンスを返します。
      戻り値:
      SpringApplicationShutdownHandlers インスタンス
      導入:
      2.5.1
    • run

      public static ConfigurableApplicationContext run(ClassSE<?> primarySource, StringSE... args)
      デフォルト設定を使用して、指定されたソースから SpringApplication を実行するために使用できる静的ヘルパー。
      パラメーター:
      primarySource - ロードする主なソース
      args - アプリケーションの引数 (通常、Java メインメソッドから渡されます)
      戻り値:
      実行中の ApplicationContext
    • run

      public static ConfigurableApplicationContext run(ClassSE<?>[] primarySources, StringSE[] args)
      デフォルト設定とユーザー指定の引数を使用して、指定されたソースから SpringApplication を実行するために使用できる静的ヘルパー。
      パラメーター:
      primarySources - ロードする主なソース
      args - アプリケーションの引数 (通常、Java メインメソッドから渡されます)
      戻り値:
      実行中の ApplicationContext
    • main

      public static void main(StringSE[] args) throws ExceptionSE
      アプリケーションの起動に使用できる基本的なメイン。このメソッドは、アプリケーションソースが --spring.main.sources コマンドライン引数で定義されている場合に役立ちます。

      ほとんどの開発者は、独自のメインメソッドを定義し、代わりに run メソッドを呼び出します。

      パラメーター:
      args - コマンドライン引数
      例外:
      ExceptionSE - アプリケーションを開始できない場合
      関連事項:
    • exit

      public static int exit(ApplicationContext context, ExitCodeGenerator... exitCodeGenerators)
      SpringApplication を終了し、成功 (0) またはその他を示すコードを取得するために使用できる静的ヘルパー。例外をスローしませんが、検出されたスタックトレースを出力する必要があります。ExitCodeGenerator を実装する Spring Bean に加えて、指定された ExitCodeGenerators を適用します。複数のジェネレーターが使用可能な場合、最初のゼロ以外の終了コードが使用されます。ジェネレーターは、Ordered 実装と @Order アノテーションに基づいて順序付けられます。
      パラメーター:
      context - 可能な場合に閉じるコンテキスト
      exitCodeGenerators - 終了コードジェネレーター
      戻り値:
      結果 (成功した場合は 0)
    • from

      追加の @Configuration または Bean クラスで実行できるアプリケーションを既存の main メソッドから作成します。この方法は、追加構成でアプリケーションを起動する必要があるテストハーネスを作成する場合に役立ちます。
      パラメーター:
      main - SpringApplication を実行するメインメソッドエントリポイント
      戻り値:
      構成を追加してアプリケーションを実行するために使用できる SpringApplication.Augmented インスタンス
      導入:
      3.1.0
      関連事項:
    • withHook

      public static void withHook(SpringApplicationHook hook, RunnableSE action)
      アクションが application run をトリガーする場合、指定された SpringApplicationHook をアタッチして指定されたアクションを実行します。
      パラメーター:
      hook - 適用するフック
      action - 実行するアクション
      導入:
      3.0.0
      関連事項:
    • withHook

      public static <T> T withHook(SpringApplicationHook hook, ThrowingSupplier<T> action)
      アクションが application run をトリガーする場合、指定された SpringApplicationHook をアタッチして指定されたアクションを実行します。
      型パラメーター:
      T - 結果の型
      パラメーター:
      hook - 適用するフック
      action - 実行するアクション
      戻り値:
      アクションの結果
      導入:
      3.0.0
      関連事項: