Perkhidmatan Mikro dan API REST Spring Boot 4 · Pelajaran

application.properties dan YAML

Konfigurasikan aplikasi menggunakan fail properties dan YAML.

Pelajaran 1 daripada 413 langkah

application.properties dan YAML ialah pelajaran Perkhidmatan Mikro dan API REST Spring Boot 4 percuma di CoddyKit. Ini ialah pelajaran 1 daripada 4. Anda boleh membaca keseluruhan pelajaran di bawah secara percuma — kemudian berlatih secara praktikal dalam pelayar menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Perkhidmatan Mikro dan API REST Spring Boot 4, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Perkhidmatan Mikro dan API REST Spring Boot 4 merangkumi sejumlah 4 pelajaran.

Tempat Konfigurasi Disimpan

Spring Boot membaca konfigurasi luaran daripada application.properties atau application.yml yang diletakkan di bawah src/main/resources. Ini memastikan nilai yang boleh dilaras tidak berada dalam kod terkompil anda.

Semasa permulaan, Boot memuatkan fail-fail ini ke dalam Environment, lalu menjadikan setiap kunci tersedia untuk suntikan, bean bersyarat dan konfigurasi automatik.

  • Satu fail untuk keseluruhan aplikasi, atau dipecahkan mengikut profil
  • Nilai boleh ditindih kemudian oleh pemboleh ubah persekitaran atau argumen CLI

Format .properties

Format klasik ialah senarai rata yang terdiri daripada baris key=value. Konsep berhierarki dinyatakan menggunakan kunci bertitik.

Format ini ringkas dan mudah dibandingkan perubahannya, tetapi menjadi panjang apabila struktur anda mendalam kerana setiap kunci mengulangi laluan penuh.

server.port=8080
server.servlet.context-path=/api
spring.datasource.url=jdbc:postgresql://localhost:5432/app
spring.datasource.username=app_user
spring.jpa.hibernate.ddl-auto=validate

Format YAML

application.yml menyatakan data yang sama sebagai hierarki, jadi awalan yang dikongsi hanya ditulis sekali. Format ini lebih mudah dibaca untuk konfigurasi bersarang seperti spring.jpa.properties.hibernate.*.

Indentasi adalah penting: gunakan ruang, jangan gunakan tab, dan kekalkan dua ruang bagi setiap aras.

server:
  port: 8080
  servlet:
    context-path: /api
spring:
  datasource:
    url: jdbc:postgresql://localhost:5432/app
    username: app_user
  jpa:
    hibernate:
      ddl-auto: validate

Senarai dan Peta dalam YAML

YAML sangat sesuai untuk koleksi. Jujukan menggunakan item -; peta hanyalah kunci bersarang. Spring mengikat semua ini terus kepada sifat List dan Map.

app:
  cors:
    allowed-origins:
      - https://app.example.com
      - https://admin.example.com
  feature-flags:
    beta-search: true
    dark-mode: false

Merujuk Sifat Lain

Anda boleh menginterpolasi satu sifat ke dalam sifat lain menggunakan ${...}. Ini mengelakkan pengulangan nilai literal dan membolehkan satu nilai asas mengawal beberapa kunci terbitan.

app:
  name: orders-service
  base-url: https://api.example.com
  health-url: ${app.base-url}/actuator/health
logging:
  file:
    name: /var/log/${app.name}.log

Nilai Lalai dengan Pemegang Tempat

Di dalam pemegang tempat, anda boleh membekalkan nilai sandaran selepas tanda titik bertindih: ${KEY:default}. Spring menggunakan nilai lalai apabila sifat atau pemboleh ubah persekitaran yang dirujuk tidak wujud.

app:
  timeout-ms: ${REQUEST_TIMEOUT:5000}
  region: ${AWS_REGION:eu-central-1}

Menyuntik Nilai Tunggal dengan @Value

Untuk sifat yang digunakan sekali-sekala, suntikkannya secara terus dengan @Value. Pemegang tempat SpEL diselesaikan berdasarkan Environment semasa penciptaan bean.

Gunakan @Value untuk beberapa kunci sahaja; pilih @ConfigurationProperties apabila sesuatu ciri mempunyai banyak tetapan berkaitan.

@Service
public class OrderService {
    @Value("${app.timeout-ms:5000}")
    private long timeoutMs;

    @Value("${app.name}")
    private String appName;
}

Properties berbanding YAML: Pertimbangan

Dari segi fungsi, kedua-duanya boleh saling menggantikan; pilihan bergantung pada kemudahan penggunaannya.

  • .properties — penghuraian mudah, sesuai untuk konfigurasi kecil/rata, tanpa perangkap indentasi
  • .yml — ringkas untuk pepohon bersarang, senarai/peta asli, tetapi sensitif terhadap indentasi

Jika kedua-dua fail wujud, .properties diutamakan berbanding .yml untuk kunci yang sama, yang mungkin mengejutkan pasukan. Pilih satu piawaian.

Berbilang Dokumen dalam Satu YAML

Satu fail YAML boleh mengandungi beberapa dokumen yang dipisahkan oleh ---. Apabila digabungkan dengan spring.config.activate.on-profile, anda boleh menyimpan nilai umum dan nilai khusus profil bersama-sama.

spring:
  application:
    name: orders
---
spring:
  config:
    activate:
      on-profile: dev
  datasource:
    url: jdbc:h2:mem:devdb

Penukaran Jenis dan Tempoh

Spring menukar nilai rentetan kepada jenis yang lebih kaya. Duration menerima akhiran seperti 30s atau 5m, manakala DataSize menerima 10MB. Enum dan List juga ditukar secara automatik.

app:
  cache-ttl: 30m
  max-upload: 10MB
  log-level: WARN

Tempat yang Tidak Sesuai untuk Menyimpan Rahsia

application.yml yang disimpan dalam repositori bukan tempat yang sesuai untuk kata laluan dan kunci API. Simpan rahsia dalam pemboleh ubah persekitaran, peti besi atau pengurus rahsia, dan rujuknya melalui pemegang tempat.

  • Komitkan nilai lalai yang tidak sensitif sahaja
  • Suntik rahsia semasa penggunaan

Semakan Ringkas

Uji pemahaman anda tentang keutamaan sifat.

Ringkasan

Anda telah mempelajari cara Spring Boot menjadikan konfigurasi sebagai konfigurasi luaran.

  • application.properties dan application.yml kedua-duanya membekalkan nilai kepada Environment
  • YAML ringkas untuk pepohon bersarang serta senarai/peta asli
  • Gunakan ${...} untuk rujukan dan ${KEY:default} untuk nilai sandaran
  • Spring menukar nilai kepada jenis seperti Duration dan DataSize
  • Jangan simpan rahsia dalam fail yang dikomitkan
Percuma untuk bermula

Pelajari Java dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
24
Pelajaran
93

Soalan Lazim

Adakah pelajaran “application.properties dan YAML” percuma?

Ya — teks penuh “application.properties dan YAML” boleh dibaca secara percuma di web ini. Untuk berlatih secara interaktif menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7, serta membuka kunci baki kursus Perkhidmatan Mikro dan API REST Spring Boot 4, tingkat taraf kepada CoddyKit PRO. Kursus Perkhidmatan Mikro dan API REST Spring Boot 4 merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “application.properties dan YAML”?

Konfigurasikan aplikasi menggunakan fail properties dan YAML. Anda berlatih Perkhidmatan Mikro dan API REST Spring Boot 4 menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan Perkhidmatan Mikro dan API REST Spring Boot 4?

Tiada pengalaman terdahulu diperlukan. Pembelajaran Perkhidmatan Mikro dan API REST Spring Boot 4 di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 1 daripada 4.

Berapa lamakah pelajaran “application.properties dan YAML” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran Perkhidmatan Mikro dan API REST Spring Boot 4 ini?

Ya. Setiap pelajaran Perkhidmatan Mikro dan API REST Spring Boot 4 menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. application.properties dan YAML
  2. Profil untuk Persekitaran
  3. Konfigurasi Selamat Jenis dengan @ConfigurationProperties
  4. Konfigurasi Luaran dan Penggantian
← Kembali ke Perkhidmatan Mikro dan API REST Spring Boot 4