本論文では、基本的なspringboot、MVCのサービスでどのようにロードを開始します。いくつかの探検レコードソースを実行するために、探求するために、
まず、MVCプロジェクトのspringbootの正常なスタートを構築します。
@EnableFeignClients @EnableEurekaClient @SpringBootApplication @RestController パブリック クラスAuthServiceApplication { (@RequestMapping "/健康" ) のパブリック文字列の自宅(){ リターンの"Hello World" ; } パブリック 静的 ボイドメイン(文字列[]引数){ SpringApplication.run(AuthServiceApplication。クラス、引数)。 } }
に行くためにクリックしてください
SpringApplication.run(AuthServiceApplication。クラス、引数)。
runメソッドは、SpringApplication、コンストラクタへ]をクリックし続けています。
パブリック 静的 ConfigurableApplicationContextラン(<?>クラス[] primarySources、String []型引数){ リターン 新しいSpringApplication(primarySources).RUN(引数); }
//クラスローダ、上記のクリックからnullに見つかったクラスローダ、コードの後ろに、この時、それは次のコンストラクタ公共SpringApplication(<?> ResourceLoader resourceLoader、クラス... primarySources){This.resourceLoader = resourceLoaderに入る見ることができますデフォルトのクラスローダを指定します
Assert.notNull(primarySources、 "PrimarySourcesないNULLでなければなりません");
this.primarySources新しい新しいLinkedHashSetの= <>(は、Arrays.asList(primarySources));
this.webApplicationType = WebApplicationType.deduceFromClasspath(); //は、プロジェクト開始の現在の型を取得します。 NONE、SERVLET(通常のJavaサーバプログラム)、反応性(反応性およびフレームの完全非ブロックウェブ、その後の照会を行う場合):3種類の列挙がある
setInitializers((コレクション)getSpringFactoriesInstances(ApplicationContextInitializer.classは)); //クラス初期化するために、現在のプログラムのコンテキストを取得
setListeners((コレクション)getSpringFactoriesInstances(ApplicationListener.classを )); // すべてのリスナーを取得し、現在のプログラム
this.mainApplicationClass = deduceMainApplicationClass();
}
見てみましょう最初の焦点this.webApplicationType = WebApplicationType.deduceFromClasspath();(コードセグメント)以下のアクセス・コードを参照してください
1 静的WebApplicationType deduceFromClasspath(){ 2 であれば(ClassUtils.isPresent(WEBFLUX_INDICATOR_CLASS、NULL)&& ClassUtils.isPresent(WEBMVC_INDICATOR_CLASS、!ヌル) 3 && ClassUtils.isPresent(JERSEY_INDICATOR_CLASS、!NULL )){ 4 リターンWebApplicationType.REACTIVE。 5 } 6 のための(文字列クラス名:SERVLET_INDICATOR_CLASSES){ 7 場合(!ClassUtils.isPresent(クラス名、NULL )){ 8 戻りWebApplicationType.NONE。 9 } 10 } 11 リターンWebApplicationType.SERVLET。 12 }
以下のようClassUtils.isPresent方法、コードを入力して内部のビューを見つけ、指定されたロードするようになります 返す偽を探していない場合は、WEBFLUX_INDICATOR_CLASS他のカテゴリを。その後、我々は春公式のダウンロードによって、図を参照してください迅速webclentプロジェクトを開始するには、POMファイルを知ることができます設定する必要があります
<依存> <groupIdを> org.springframework.boot </ groupIdを> <たartifactId>春・ブート・スターター・ウェブ</たartifactId> </依存関係>
参照図、クラスのソースコードは、あなたは以下の見つけることができ、最終的な判断が返された後、上記の参照ビューの項目は、瓶クラスコードの断片を得ることができサーブレットを
同様に、我々のconfigure
<依存性> <のgroupId> org.springframework.boot </のgroupId> <たartifactId>ばねブートスタータwebflux </たartifactId> </依存>
発見と判断した後、最終的に取得しますREACTIVEを。興味のある学生は、自分が見て、それを試すことができます。