Rumah >Java >javaTutorial >Apakah fungsi dan butiran fail konfigurasi Spring Boot?
Fail konfigurasi adalah sangat penting. Semua data penting dalam keseluruhan projek dikonfigurasikan dalam fail konfigurasi. Contohnya:
Maklumat sambungan pangkalan data (tetapan nama pengguna dan kata laluan); 🎜>
Maklumat utama untuk panggilan sistem pihak ketiga;Itu sahaja Ada dua format, dan ia mesti ditulis seperti ini di sini, jika tidak, ralat akan dilaporkan (konvensyen lebih besar daripada konfigurasi Dalam kedua-duanya, fail konfigurasi yang berkaitan boleh ditetapkan daripada dua format lain juga berbeza. Akan ada pengenalan yang relevan di bawah Selain itu, kedua-dua format ini juga boleh wujud bersama-sama, konfigurasi di sini akan menggunakan konfigurasi dalam yml tidak disyorkan untuk menggunakan kedua-dua format dalam projek yang sama pada masa yang sama!
Fail konfigurasi sifat ialah format fail konfigurasi yang lebih awal dan juga merupakan fail konfigurasi lalai untuk projek Spring Boot fail konfigurasi sifat:
Dalam sifat, pasangan nilai kunci digunakan terutamanya (key=value), serupa dengan
Format (jangan tulis ruang di tengah, dan jangan tulis ruang tambahan)
Jika ia adalah fail konfigurasi tersuai, ia juga dalam bentuk key=value, dan ini perlu ditulis sendiri Jika anda ingin membaca ini Fail hanya boleh menggunakan nilai kunci yang ditentukan sendiri untuk mendapatkan nilai nilai!
Masalah ini juga boleh diselesaikan dengan menggunakan anotasi Di sini, anotasi @Value dan format ${} boleh digunakan untuk membaca:
.@Controller public class Test { @Value("${server.port}") //读取配置项 private String port; @ResponseBody //返回一个非静态页面的数据 @RequestMapping("/func") //设置路由地址 public String func(){ return "port: " + port; } }
dan menggunakan @Value hanya Jika anda boleh membaca satu fail konfigurasi, jika anda ingin membaca berbilang, anda perlu menulis beberapa lagi tag @Value
3 Kelemahan sifat
Dalam sifat, kunci digunakan =bentuk nilai, dan jika ia adalah nilai di bawah kunci yang sama, anda perlu menulis nilai kunci berulang kali, yang sangat berlebihan
dan anda ingin menyelesaikannya Masalah ini memerlukan penggunaan yml fail konfigurasi IV. Perihalan fail konfigurasi ymlyml ialah satu lagi format fail konfigurasi yml sangat mudah dibaca dan mudah difahami yml sangat serupa dengan bahasa peringkat tinggi, dan kelebihan terbesar yml ialah ia boleh digunakan merentas bahasa Sebagai contoh, python dan golang boleh menggunakan yml sebagai fail konfigurasi. Berikut ialah pengenalan terperinci kepada fail konfigurasi yml:
1 Sintaks asas yml
:
2 Baca fail konfigurasi
在yml里面还是可以配置对象的:
另外也可以使用行内写法:
而想要读取到这个对象的话就不能再使用@Value注解了,这里需要借助@ConfigurationProperties来读取:
import lombok.Data; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.stereotype.Component; @Data @ConfigurationProperties(prefix = "student") //读取配置文件的对象 @Component public class Student { private int id; private String name; private int age; }
然后读取对象,就可以直接进行注入了:
@Controller public class Test { @Autowired private Student student; @ResponseBody @RequestMapping("/getstudent") public String getStudent(){ return "student: " + student; } }
然后通过浏览器搜索http://localhost:8080/getstudent就可以得到对象内容了:
在yml里面也是可以配置集合的:
同样行内写法也是可以的:
而要获取到集合的话,和获取对象是差不多的,也是通过@ConfigurationProperties来获取:
import lombok.Data; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.stereotype.Component; import java.util.List; @Data @ConfigurationProperties(prefix = "dbtypes") @Component public class ListConfig { private List<String> name; }
读取集合:
@Controller public class Test { @Autowired private ListConfig listConfig; @ResponseBody @RequestMapping("/getlist") public String getList(){ return "name:" + listConfig.getName(); } }
然后通过浏览器搜索http://localhost:8080/getlist就可以得到对象内容了:
properties是以key=value的形式配置的键值对类型配置文件,而yml是以key: value的形式配置的键值对类型配置文件;
properties是早期且系统默认的配置文件格式,但配置存在一定的冗余数据,而yml可以更好的解决数据冗余问题;
yml通用性更好,支持多语言;
yml支持更多的数据类型;
Atas ialah kandungan terperinci Apakah fungsi dan butiran fail konfigurasi Spring Boot?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!