Rumah  >  Artikel  >  Java  >  Bagaimana untuk memuatkan @configurationProperties secara statik dalam springboot

Bagaimana untuk memuatkan @configurationProperties secara statik dalam springboot

WBOY
WBOYke hadapan
2023-05-20 23:55:041676semak imbas

Dalam pembangunan biasa, kami meletakkan pemalar yang pada dasarnya tidak berubah dalam item konfigurasi, seperti sifat atau fail yml, supaya ia hanya boleh dimuatkan semasa permulaan. Bagaimana untuk melakukannya?

Kami menggunakan anotasi @ConfigurationProperties springboot dan sifat sepadan statik statik.

Tetapi jika tidak dilakukan dengan betul, data yang dimuatkan akan kosong Mengenai sebabnya, lihat kes di bawah.

1. Kes ralat

//错误1:get\set都是静态方法
@Component
@ConfigurationProperties(prefix = "mobile")
public class MobileConfig
{
    public static Integer preview;

    public static Integer getPreview() {
        return preview;
    }

    public static void setPreview(Integer preview) {
        MobileConfig.preview = preview;
    }
}
//错误2:跟第一种差不多,只是用了lombok注解代替了get\set方法,get\set也都是静态方法
@Data
@Component
@ConfigurationProperties(prefix = "mobile")
public class MobileConfig
{
    public static Integer preview;
}

2. Kes kejayaan

@Component
@ConfigurationProperties(prefix = "mobile")
public class MobileConfig
{
    public static Integer preview;

    public static Integer getPreview() {
        return preview;
    }

    public void setPreview(Integer preview) {
        MobileConfig.preview = preview;
    }
}
@Data
@Component
@ConfigurationProperties(prefix = "mobile")
public class MobileConfig
{
    public static Integer preview;

    public void setPreview(Integer preview) {
        MobileConfig.preview = preview;
    }
}

3. Jika ini Jika kaedah adalah kaedah statik, ia tidak boleh disuntik secara dinamik, jadi anda hanya perlu menambah kaedah get kepada statik sebagai kaedah statik Jika @Data digunakan, anda hanya perlu menulis semula kaedah yang ditetapkan.

Atas ialah kandungan terperinci Bagaimana untuk memuatkan @configurationProperties secara statik dalam springboot. 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