Proyek Springboot membaca file konfigurasi application.properties secara default. Jika Anda perlu menyesuaikan file properti, cara membacanya?
1. Buat file .properties baru di sumber daya
Buat folder konfigurasi baru di direktori sumber daya, dan kemudian buat file .properties baru dan letakkan di folder ini. Seperti yang ditunjukkan dalam remote.properties pada gambar
2. Tulis file konfigurasi
Remote.UploadFileSurl =/sumber daya/file/remote.uploadpicurl =/sumber daya/pic/
3. Buat kelas konfigurasi baru RemoteProPerties.java
@Configuration@configurationproperties (prefix = "remote", abaikanPnOwnFields = false) @propertysource ("classPath: config/remote.properties")@data@componentpublic kelas RemoteProperties {private string unggahanfilesUrl; string private unggahPiurl;}di dalam
@Configuration menunjukkan bahwa ini adalah kelas konfigurasi
@ConfigurationProperties (prefix = "jarak jauh", degnerunknownfields = false) Anotasi ini digunakan untuk mengikat properti. Awalan digunakan untuk memilih awalan properti, yaitu, "jarak jauh" di file remote.properties. Abaikan UNTUKFIELDS digunakan untuk memberi tahu Springboot untuk melempar pengecualian ketika properti tidak dapat menandingi domain yang dinyatakan.
@Propertysource ("classpath: config/remote.properties") jalur file konfigurasi
@Data Ini adalah anotasi Lombok, yang digunakan untuk menghasilkan metode Getter & Setter. Untuk detailnya, silakan merujuk ke informasi terkait Lombok.
@Component diidentifikasi sebagai kacang
4. Bagaimana cara menggunakannya?
Annotate EnableConfigurationProperties (RemoteProPerties.class) di atas tabel di kelas di mana metode Anda ingin menggunakan file konfigurasi berada.
Dan secara otomatis menyuntikkan
@AutowiredRemoteProPerties remoteProPerties;
Gunakan RemoteProPerties.GetUploadFileSURL () dalam metode untuk mendapatkan konten konfigurasi.
@EnableConfigurationProperties (RemoteProPerties.class) @RestControllerPublic TestService {@Autowired remoteProPerties RemoteProPerties; public void test () {string str = remoteProoperties.getUploadFileSurl (); System.out.println (str); }}Di sini STR adalah "/sumber daya/file/" di file konfigurasi.
PS: Mari kita lihat dua cara untuk membaca file konfigurasi konfigurasi di boot Spring
Jika Anda memahami teknologi Spring-Boot, Anda harus tahu aplikasi. Properti file konfigurasi inti Spring-Boot, dan tentu saja Anda juga dapat membuat anotasi informasi file konfigurasi khusus.
Bagaimana Spring-Boot Membaca File Konfigurasi:
1. Baca Informasi File Konfigurasi Inti Application.Properties
File konfigurasi inti mengacu pada file konfigurasi application.properties atau application.yml di direktori sumber daya root. Ada dua cara untuk membaca dua file konfigurasi ini, yang keduanya relatif sederhana.
Konten file konfigurasi inti. Konten Properties adalah sebagai berikut:
test.msg = halo springboot dunia
Metode 1: Gunakan metode @Value (biasanya digunakan)
paket solin.controller; impor org.springframework.beans.factory.annotation.value; impor org.springframework.web.bind.annotation.requestmapping; impor org.springframework.web.bind.annotation.RestController; @RestController kelas publik webcontroller {@value ("$ {test.msg}") Private String msg; @RequestMapping ("/index1") public string index1 () {return "Method 1:"+msg; }} Catatan: $ {} @Value disertakan dalam nama kunci dalam file konfigurasi inti. Menambahkan @RestController ke kelas pengontrol berarti bahwa semua tampilan di kelas ini ditampilkan di JSON, mirip dengan menambahkan @ResponseBody ke metode tampilan.
Saat berkunjung: http: // localhost: 8088/index1, Anda akan mendapatkan: "Metode 1: halo Springboot World"
Metode 2: Gunakan Metode Lingkungan
paket solin.controller; impor org.springframework.beans.factory.annotation.Autowired; impor org.springframework.beans.factory.annotation.value; impor org.springframework.core.env.environment; impor org.springframework.web.bind.annotation.requestmapping; impor org.springframework.web.bind.annotation.RestController; @RestController Kelas Publik WebController {@Autowired Private Environment Env; @RequestMapping ("/index2") Public String Index2 () {return "Method 2:"+env.getProperty ("test.msg"); }} Catatan: Metode ini adalah menggunakan Evnironment untuk menyelesaikan injeksi ketergantungan. Tambahkan anotasi @Autowired ke variabel anggota yang dibuat Envence Envent untuk menyelesaikan injeksi ketergantungan, dan kemudian menggunakan env.getProperty ("nama kunci") untuk membaca nilai yang sesuai.
Saat berkunjung: http: // localhost: 8088/index2, Anda mendapatkan: "Metode 2: halo world springboot"
2. Baca Informasi File Konfigurasi Kustom, misalnya: Author.Properties
Agar tidak menghancurkan ekologi asli dari file inti, tetapi juga perlu memiliki informasi konfigurasi yang disesuaikan, secara umum, file konfigurasi khusus dipilih untuk menempatkan informasi khusus ini. Di sini, penulis file konfigurasi. Properti dibuat di direktori sumber daya.
Konten sumber daya/penulis. Properti adalah sebagai berikut:
Author.name = Solin Author.Age = 22
Buat kelas entitas untuk mengelola konfigurasi:
paket solin.controller; impor org.springframework.boot.context.properties.configurationproperties; impor org.springframework.context.annotation.configuration; impor org.springframework.stereotype.component; // Tambahkan ke komentar @Component, Anda dapat menggunakan @Autowired secara langsung untuk membuat objek instance di tempat lain @component @configurationproperties (prefix = "penulis", lokasi = "classpath: author.properties") kelas publik myWebConfig {nama string pribadi; usia int pribadi; public string getName () {return name; } public void setName (name string) {this.name = name; } public int getage () {usia kembali; } public void setage (int usia) {this.age = usia; }}Melihat:
Ada dua properti dalam anotasi @ConfigurationProperties:
Lokasi: Tentukan lokasi file konfigurasi
awalan: Tentukan awalan nama kunci dalam file konfigurasi (semua nama kunci dalam file konfigurasi di sini mulai dengan penulis.)
Menggunakan @Component adalah untuk mengaktifkan kelas untuk bergantung pada tempat lain, yaitu, untuk membuat instance menggunakan anotasi @Autowired.
Buat pengontrol tes
paket solin.controller; impor org.springframework.beans.factory.annotation.Autowired; impor org.springframework.stereotype.controller; impor org.springframework.web.bind.annotation.requestmapping; impor org.springframework.web.bind.annotation.responseBody; @Controller Public Class ConfigController {@Autowired private myWebConfig conf; @RequestMapping ("/test") public @ResponseBody String test () {return "name:"+conf.getname ()+"---"+"usia:"+conf.getage (); }}Catatan: Karena @Component ditambahkan ke kelas conf, Anda dapat langsung menggunakan @Autowired untuk membuat objek instance.
Saat berkunjung: http: // localhost: 8088/tes, Anda mendapatkan: "Nama: Solin --- Usia: 22"
Meringkaskan
Di atas adalah metode membaca file konfigurasi properti khusus di bawah springboot yang diperkenalkan kepada Anda oleh editor. Saya harap ini akan membantu Anda. Jika Anda memiliki pertanyaan, silakan tinggalkan saya pesan dan editor akan membalas Anda tepat waktu. Terima kasih banyak atas dukungan Anda ke situs web Wulin.com!