Rumah >Java >javaTutorial >Apakah fungsi dan butiran fail konfigurasi Spring Boot?

Apakah fungsi dan butiran fail konfigurasi Spring Boot?

WBOY
WBOYke hadapan
2023-05-12 22:13:041609semak imbas

    1. Peranan fail konfigurasi

    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;
    • Log umum dan log tidak normal yang boleh mengesan dan mengesan masalah (tahap dan kegigihan log); >
    • Jika tiada fail konfigurasi, maklumat ini tidak boleh dikonfigurasikan, pangkalan data tidak boleh disambungkan, log tidak boleh dilihat, dsb. Masalah ini sangat kritikal kepada projek Spring Boot, jadi fail konfigurasi adalah amat penting!

      2. Format fail konfigurasi
    • Pengkelasan fail konfigurasi secara amnya:

    Fail konfigurasi sistem (ditakrifkan oleh sistem), seperti rentetan sambungan, tetapan berkaitan log;

    Ditentukan pengguna; 🎜>

    .properties
    • .yml

    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!

      3. Perihalan fail konfigurasi sifat
    • Fail konfigurasi sifat ialah format fail konfigurasi yang lebih awal dan juga merupakan fail konfigurasi lalai untuk projek Spring Boot fail konfigurasi sifat:

    • 1. Sintaks asas sifat
    • Dalam sifat, pasangan nilai kunci digunakan terutamanya (key=value), serupa dengan

    Apakah fungsi dan butiran fail konfigurasi Spring Boot? 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!

    2 Baca fail konfigurasi

    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;
        }
    }

    Kemudian cari http://localhost:8080/func melalui halaman untuk melihat nombor port baca:

    Apakah fungsi dan butiran fail konfigurasi Spring Boot? 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 yml

    Apakah fungsi dan butiran fail konfigurasi Spring Boot?yml 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

    Sintaks asas dalam yml ialah: kunci: nilai diperlukan antara kunci dan nilai, di mana Ruang tidak boleh ditinggalkan. Adalah lebih mudah untuk menulis konfigurasi pangkalan data sambungan di atas dengan sintaks seperti

    Apakah fungsi dan butiran fail konfigurasi Spring Boot?:

    Tambahan: Isu tentang petikan tunggal dan berganda dalam yml: Jika petikan berganda digunakan dalam yml, ia akan dilaksanakan mengikut semantik (asal) jika ia tidak ditambah, atau petikan tunggal ditambah, rentetan akan ditukar secara lalai Escape aksara khas dalam, seperti n -> n (escape) pemprosesan.

    2 Baca fail konfigurasi

    Cara membaca fail konfigurasi yml juga sama seperti sifat, menggunakan format @Value anotasi tambah ${}, yang tidak akan ditunjukkan di sini. Mari kita lihat perbezaan dalam yml!

    3.配置对象

    在yml里面还是可以配置对象的:

    Apakah fungsi dan butiran fail konfigurasi Spring Boot?

    另外也可以使用行内写法:

    Apakah fungsi dan butiran fail konfigurasi Spring Boot?

    而想要读取到这个对象的话就不能再使用@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就可以得到对象内容了:

    Apakah fungsi dan butiran fail konfigurasi Spring Boot?

    4.配置集合

    在yml里面也是可以配置集合的:

    Apakah fungsi dan butiran fail konfigurasi Spring Boot?

    同样行内写法也是可以的:

    Apakah fungsi dan butiran fail konfigurasi Spring Boot?

    而要获取到集合的话,和获取对象是差不多的,也是通过@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就可以得到对象内容了:

    Apakah fungsi dan butiran fail konfigurasi Spring Boot?

    五.properties和yml的区别

    • 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!

    Kenyataan:
    Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam