Berikut ialah dua kaedah, kedua-duanya berdasarkan pelaksanaan anotasi, iaitu:
@Value("${xxxxx.xx}")
@ConfigurationProperties(prefix = "xxxxx")
Menggunakan kaedah ini sangat mudah (setiap anotasi mendapat nilai konfigurasi yang sepadan),
Tambah item konfigurasi tersuai kami dalam yml, seperti (huruf besar atau huruf kecil, hanya padankannya semasa memanggil):
Nyatakan untuk mendapatkan nilai ini untuk digunakan, seperti:
@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); }
Anda boleh melihat hasilnya dan mendapatkannya seperti biasa:
Menggunakan kaedah ini juga Ia sangat mudah (dapatkan berbilang nilai konfigurasi sekaligus dan buat seketika menjadi kacang dan masukkannya ke dalam bekas musim bunga). pada mulanya Gunakan huruf kecil, huruf besar akan menyebabkan ralat, kerana awalan tidak menyokong bentuk penamaan huruf unta dan garis bawah):
Kemudian kami membina kelas entiti untuk item konfigurasi ini dan gunakan anotasi di atas @ConfigurationProperties, seperti:
awalan merujuk kepada awalan, yang biasanya yang pertama dalam contoh kami ialah 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; } }
menentukan untuk mendapatkan nilai ini. untuk digunakan, yang bersamaan dengan menggunakan Kelas ini boleh digunakan terus dengan @Autowired:
@Autowired MyInfo myInfo; @GetMapping("/getMyTest") public void getMyTest(){ System.out.println("myInfo:"+myInfo.toString()); System.out.println("myInfo name:"+myInfo.getName()); }
Anda boleh melihat hasilnya dan mendapatkannya seperti biasa:
Atas ialah kandungan terperinci Bagaimanakah Springboot menentukan untuk mendapatkan nilai konfigurasi dalam fail yml?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!