ホームページ  >  記事  >  Java  >  Springbootはymlファイルの設定値を取得するためにどのように指定しますか?

Springbootはymlファイルの設定値を取得するためにどのように指定しますか?

王林
王林転載
2023-05-15 09:55:121277ブラウズ

内容:

ここでは 2 つのメソッドを紹介します (どちらもアノテーションに基づいています)。

@Value("${xxxxx.xx}")

@ConfigurationProperties(prefix = "xxxxx")

トピックを入力してください:

@Value("${xxxxx.xx}" )

このメソッドの使用は非常に簡単です (各アノテーションは対応する構成値を取得します)。

カスタム構成項目を yml に追加します (大文字または小文字。呼び出し時に一致してください)。 ) 問題ありません):

Springbootはymlファイルの設定値を取得するためにどのように指定しますか?

使用するためにこれらの値を取得するように指定します。たとえば:

@Value("${myKey.tua}")
    private  String tuaKey;
    @Value("${myKey.aco}")
    private  String acoKey;
    @Value("${mynum.new}")
    private  String myNum;
 
    @GetMapping("/getMyTest")
    public void getMyTest(){
 
        System.out.println("tuaKey:"+tuaKey);
        System.out.println("acoKey:"+acoKey);
        System.out.println("myNum:"+myNum);
    }

結果を確認し、通常どおり取得できます。

Springbootはymlファイルの設定値を取得するためにどのように指定しますか?

@ConfigurationProperties(prefix = "xxxxx")

この方法を使用するのも非常に簡単です (一度に複数の構成値を取得し、それらを Bean にインスタンス化し、Spring コンテナーに置きます)、

カスタム構成項目を yml に追加します (先頭のキー パラメーターは小文字にする必要があることに注意してください。使用するのは間違いです)

Springbootはymlファイルの設定値を取得するためにどのように指定しますか?

次に、これらの構成項目のエンティティ クラスを構築し、次のような注釈 @ConfigurationProperties を使用します。

prefix はプレフィックスを指します, 通常は最初のものです. この例の最初のものは myinfoです

import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
 
/**
 * @Author : JCccc
 * @CreateTime : 2020/5/19
 * @Description :
 **/ 
 
@Component
@ConfigurationProperties(prefix = "myinfo")
public class MyInfo {
 
    private String name;
    private Integer age;
    private String description;
 
    @Override
    public String toString() {
        return "MyTest{" +
                "name="" + name + """ +
                ", age=" + age +
                ", description="" + description + """ +
                "}";
    }
 
    public String getName() {
        return name;
    }
 
    public void setName(String name) {
        this.name = name;
    }
 
    public Integer getAge() {
        return age;
    }
 
    public void setAge(Integer age) {
        this.age = age;
    }
 
    public String getDescription() {
        return description;
    }
 
    public void setDescription(String description) {
        this.description = description;
    }
}

は使用するこれらの値を取得することを指定します, これは使用するのと同等ですこのクラスを @Autowired で直接使用すると:

@Autowired
    MyInfo myInfo;
 
    @GetMapping("/getMyTest")
    public void getMyTest(){
 
        System.out.println("myInfo:"+myInfo.toString());
        System.out.println("myInfo name:"+myInfo.getName());
    }

結果が表示されます。通常の状態になります:

Springbootはymlファイルの設定値を取得するためにどのように指定しますか?

以上がSpringbootはymlファイルの設定値を取得するためにどのように指定しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。