スプリングの依存関係は、一般的に使用される多くの jar パッケージに依存するのに役立ちます。これらの jar パッケージのインポートにはバージョン番号は必要ありません
例:
<dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> </dependency>
構成ファイル構成デバッグ: true は、自動構成レポートをコンソールに出力できます。開始された自動構成クラスと未起動の自動構成クラスをすべて印刷できます。
@SpringBootApplication
特定のクラスでマークされています。
@Target({ElementType.TYPE}) @Retention(RetentionPolicy.RUNTIME) @Documented @Inherited @SpringBootConfiguration @EnableAutoConfiguration @ComponentScan( excludeFilters = {@Filter( type = FilterType.CUSTOM, classes = {TypeExcludeFilter.class} ), @Filter( type = FilterType.CUSTOM, classes = {AutoConfigurationExcludeFilter.class} )} ) public @interface SpringBootApplication {
@EnableAutoConfiguration: 自動構成を有効にすると、多くの構成を手動で行う必要がなくなります。
メイン構成クラスを入力しますパッケージの下のすべてのコンポーネントが Spring コンテナーにスキャンされます。@AutoConfigurationPackage @Import({AutoConfigurationImportSelector.class}) public @interface EnableAutoConfiguration {
最後に、META-INF/spring.factories に移動して、すべての自動構成クラスを見つけてコンテナーにロードします。これらの自動構成クラスは、多くのことを実行してきました。 Spring で行っていた設定です。
yaml 構文
属性をキャメル ケースで記述する方法は、ダッシュまたは下線を追加するのと同じです。エンティティ クラスに変換されると、属性は次のようになります。すべてキャメルケースです。ただし、これはconfigurationPropertiesでのみ使用でき、使用できません。@Valueアノテーションで一重引用符は特殊なエスケープです。\n 出力や \n
二重引用符などの特殊文字はエスケープされません。\n 出力はスペースです。は同じようにエスケープされます。一重引用符を追加する場合と同じ
緩いバインディング
@Target({ElementType.TYPE}) @Retention(RetentionPolicy.RUNTIME) @Documented @Inherited @Import({Registrar.class}) public @interface AutoConfigurationPackage {アノテーションを使用すると、yaml構成のカスタム構成にプロンプトを含めることができます
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-configuration-processor</artifactId> <optional>true</optional> </dependency>
@ImportResource と一緒に使用します
@PropertySource(value = "classpath:user.properties")
構成ファイルのプレースホルダー
${random.int} yaml によって提供される乱数を使用します${server.port} 前述のを使用します構成値Activate して別の構成環境を指定します${server.name: Hello} 値がない場合は、デフォルト値を使用します。
#profile
コマンド ラインのアクティブ化では、-spring.profiles.active=dev
仮想マシン パラメーターを追加できます。 Activate -Dspring.profiles.active=devfile: ./config/ プロジェクト ルート パス下の config ディレクトリ
構成ファイルのロード シーケンス
classpath: /
すべてのファイルが次の優先順位でロードされます。上から下へ、高いものから低いものへ、高いものは低いものを上書きします。異なる設定が有効になります。, 補足的です。
プロジェクトをデプロイするときに、-spring.config.location を通じて設定ファイルの場所を変更することもできます。プロジェクトにロードされたファイルは、ここで指定した構成ファイルを補完します。
以上がSpringboot-yaml 設定と自動設定の原理の分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。