SpringBoot が yml ファイルを読み取る 3 つの方法

WBOY
リリース: 2023-06-29 23:25:17
転載
889 人が閲覧しました


Spring Boot が yml ファイルを読み取る主な方法は次のとおりです。

1.@Value アノテーション

プロパティに追加できます。 @Value アノテーションを使用して、yml 内の値を直接読み取ります。例:

application.yml:

name: Zhangsan
ログイン後にコピー

Bean:

public class MyBean { @Value("${name}") private String name; }
ログイン後にコピー

2.Environment オブジェクト

Environment オブジェクトを挿入することで yml 値を読み取ることができます。たとえば、

@Autowired private Environment environment; public void doSomething() { String name = environment.getProperty("name"); }
ログイン後にコピー

3.@ConfigurationProperties アノテーション

@ConfigurationProperties アノテーションを使用すると、yml 内の値を Bean プロパティにマップできます。例:

application.yml:

my: name: Zhangsan age: 18
ログイン後にコピー

Bean:

@Component @ConfigurationProperties(prefix = "my") public class MyProps { private String name; private int age; // getter and setter }
ログイン後にコピー

4.YmlPropertySourceFactory

YmlPropertySourceFactory を使用して yml ファイルをロードし、通常のプロパティと同様に値を読み取ることができます (例:

@Bean public static PropertySourcesPlaceholderConfigurer properties() { YamlPropertiesFactoryBean factory = new YamlPropertiesFactoryBean(); factory.setResources(new ClassPathResource("application.yml")); factory.getObject().forEach((k, v) -> System.out.println(k + ": " + v)); return factory; }
ログイン後にコピー

5.@YamlComponent アノテーション)

yml ファイル内に — で区切られた複数のドキュメントがある場合、

application.yml のように、@YamlComponent アノテーションを使用して各ドキュメントを Bean にマップできます。 :

my: name: Zhangsan --- my: name: Lisi
ログイン後にコピー

Beans:

@Component("first") @YamlComponent(value = "my.first") public class FirstProps { private String name; } @Component("second") @YamlComponent(value = "my.second") public class SecondProps { private String name; }
ログイン後にコピー

Spring Boot は yml ファイルを読み込むことができ、必要に応じて 5 つの主要なメソッドを選択できます。 yml は Spring Boot のデフォルトの構成ファイル形式です。yml ファイルの操作方法を理解すると、システム構成の柔軟性を実現できます。

以上がSpringBoot が yml ファイルを読み取る 3 つの方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
yml
ソース:yisu.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!