Config, Profiles & Logging

Externalized configuration (PropertySource ordering, @ConfigurationProperties), profiles (activation, groups), và logging (SLF4J, structured logging Boot 3.4).

8 bài · ~81 phútMiễn phí

Nội dung

Danh sách bài học

  1. 01

    Config, Profiles & Logging — tổng quan

    Module này gom 3 mặt vận hành của Spring Boot: cấu hình externalized (đổi config không build lại), profiles (1 artifact chạy mọi môi trường), và logging (từ SLF4J tới structured JSON cho ELK).

    ~4 phút
  2. 02

    PropertySource ordering & relax binding — thứ tự ưu tiên và K8s env var

    Boot xếp chồng nhiều nguồn config theo thứ tự ưu tiên cố định. Bài này bóc cơ chế PropertySource ordering (command line uu tien cao nhat, tại sao), 12-factor externalize config, và relax binding (DB_URL map sang db.url mà không cần config thêm) — nền tảng để deploy app trên K8s/Docker không hardcode.

    ~12 phút
  3. 03

    @ConfigurationProperties vs @Value — bind config type-safe

    Hai cách inject externalized config vào Spring bean: @Value cho 1 giá trị đơn, @ConfigurationProperties để bind cả nhóm property thành object type-safe, có validation, IDE autocomplete, và relax binding. Bài này giải thích cơ chế binding bên dưới, khi nào chọn cái nào, và vì sao @ConfigurationProperties record + @Validated là pattern production 2026.

    ~12 phút
  4. 04

    Spring Profiles — 1 artifact chạy mọi môi trường

    Profile là cơ chế Spring gắn nhãn bean và config theo môi trường. Bài này giải thích tại sao profile tồn tại, 5 cách activate, @Profile trên bean/@Component/@Configuration, default profile, và cơ chế evaluate lúc đăng ký bean (không phải lúc getBean).

    ~12 phút
  5. 05

    Profile Groups & Production Patterns — gom profile, validate, blue/green

    Profile groups (Boot 2.4+) gom nhiều profile thành một nhóm logic để kích hoạt bằng một tên. Bài này đào sâu cơ chế groups, multi-document YAML, mô phỏng inheritance qua include, và pattern production: secret management, blue/green canary, validate active profile khi startup.

    ~13 phút
  6. 06

    Logging cơ bản — SLF4J facade, Logback, log level và hierarchy

    Boot pre-wire 4-layer logging stack: SLF4J facade, Logback implementation, bridge libs. Bài này giải thích vì sao facade pattern tồn tại, cách 5 log level + hierarchy theo package hoạt động, và cấu hình qua logging.level.* property.

    ~11 phút
  7. 07

    Structured Logging — JSON log cho ELK/Loki, MDC correlation, dynamic level

    Boot 3.4 GA thêm structured logging JSON built-in với 1 dòng property. Bài này bóc cơ chế tại sao JSON log query được trong ELK (không grep text), MDC correlation ID per-request, dynamic log level qua Actuator runtime không restart, và đổi sang Log4j2 khi cần.

    ~13 phút
  8. 08

    Config, Profiles & Logging — tổng kết

    Tóm tắt Config, Profiles & Logging.

    ~4 phút