Rumah >Java >javaTutorial >Analisis prinsip konfigurasi Springboot-yaml dan konfigurasi automatik

Analisis prinsip konfigurasi Springboot-yaml dan konfigurasi automatik

王林
王林ke hadapan
2023-05-13 15:25:061122semak imbas

Pusat Timbang Tara Versi

Kebergantungan musim bunga membantu kami bergantung pada banyak pakej balang yang biasa digunakan untuk mengimport pakej balang ini tidak memerlukan nombor versi
Contohnya:

<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-lang3</artifactId>
</dependency>

Prinsip konfigurasi automatik<. . kelas menunjukkan bahawa ini ialah permulaan utama springboot>
@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
@SpringBootConfiguration
@EnableAutoConfiguration
@ComponentScan(
    excludeFilters = {@Filter(
    type = FilterType.CUSTOM,
    classes = {TypeExcludeFilter.class}
), @Filter(
    type = FilterType.CUSTOM,
    classes = {AutoConfigurationExcludeFilter.class}
)}
)
public @interface SpringBootApplication {

@EnableAutoConfiguration: Dayakan konfigurasi automatik, jadi kami tidak perlu melakukan banyak konfigurasi secara manual. AutoConfigurationPackage

akan menjadi kelas konfigurasi utama Semua komponen di bawah pakej akan diimbas ke dalam bekas spring

@AutoConfigurationPackage
@Import({AutoConfigurationImportSelector.class})
public @interface EnableAutoConfiguration {

AutoConfigurationImportSelector mengimport komponen ke dalam bekas melalui @import:, komponen ini akan memuatkan semua. kelas konfigurasi automatik, seperti mysql, web, dll. Tunggu

Kami akhirnya akan pergi ke META-INF/spring.factories untuk mencari semua kelas konfigurasi automatik dan memuatkannya ke dalam bekas Kelas konfigurasi automatik ini akan menghapuskan banyak daripada konfigurasi yang biasa kami lakukan dengan spring.

sintaks yaml

Tersurat



Rentetan tidak perlu dipetik secara lalai, petikan tunggal dan petikan berganda mempunyai ciri khas tujuan

Petikan tunggal ialah Escape istimewa, seperti n keluaran atau n

aksara khas petikan berganda tidak akan terlepas, jika n output ialah ruang

tanpa menambah petikan tunggal, ia akan terlepas

longgar Mengikat

ditulis dalam huruf unta, yang sama seperti menambah garis bawah - atau garis bawah _ Apabila ditukar kepada kelas entiti, kesemuanya adalah huruf unta. Walau bagaimanapun, ini hanya boleh digunakan dalam configurationProperties, bukan dalam @Value Gunakan anotasi

@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
@Import({Registrar.class})
public @interface AutoConfigurationPackage {
dalam anotasi untuk membenarkan konfigurasi tersuai dalam konfigurasi yaml mempunyai gesaan

digunakan bersama-sama dengan anotasi @PropertySource

@PropertySource anotasi boleh memuatkan fail lain yang ditentukan

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-configuration-processor</artifactId>
    <optional>true</optional>
</dependency>
digunakan bersama-sama dengan @ImportResource

untuk mengimport fail konfigurasi spring dan membuat ia berkuat kuasa

@PropertySource(value = "classpath:user.properties")

Pemegang tempat fail konfigurasi

${random.int} menggunakan nombor rawak yang disediakan oleh yaml

${server.port} menggunakan nilai yang dikonfigurasikan sebelum ini

${server.name: Hello} Jika tiada nilai, gunakan nilai lalai

profil

Pengaktifan menentukan persekitaran konfigurasi yang berbeza



Pengaktifan baris arahan boleh menambah –spring.profiles.active=dev

Pengaktifan parameter mesin maya-Dspring .profiles.active=dev

Memuatkan jujukan fail konfigurasi

fail: Direktori ./config/ config di bawah laluan akar projek
fail: ./ direktori akar projek

classpath: config/
classpath: /

Semua fail akan dimuatkan, dengan keutamaan dari atas ke bawah, dari tinggi ke rendah, dengan konfigurasi yang lebih tinggi akan menggantikan konfigurasi yang berbeza dan saling melengkapi
Anda juga boleh menukar lokasi fail konfigurasi melalui –spring.config.location semasa menggunakan fail konfigurasi projek ini adalah pelengkap kepada fail konfigurasi yang dinyatakan di sini.

Atas ialah kandungan terperinci Analisis prinsip konfigurasi Springboot-yaml dan konfigurasi automatik. 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