Heim  >  Artikel  >  Java  >  Wie werden Konfigurationseigenschaften in Spring Boot gebunden?

Wie werden Konfigurationseigenschaften in Spring Boot gebunden?

WBOY
WBOYOriginal
2024-04-18 09:09:02604Durchsuche

Konfigurationseigenschaften in Spring Boot können an Konfigurationseigenschaftenklassen aus Eigenschaftsquellen gebunden werden, einschließlich Anwendungseigenschaftendateien, Umgebungsvariablen und Befehlszeilenparametern. Die Eigenschaftsbindung erfolgt über die Annotation @ConfigurationProperties. Praktischer Fall: Erstellen Sie eine Konfigurationsattributklasse, binden Sie die Attributquelle und rufen Sie das Konfigurationsattribut ab.

Spring Boot 中的配置属性是如何绑定的?

Bindung von Konfigurationseigenschaften in Spring Boot

Spring Boot bietet einen leistungsstarken Mechanismus für Konfigurationseigenschaften, der es uns ermöglicht, Konfigurationseigenschaften aus verschiedenen Quellen wie Anwendungseigenschaftendateien, Umgebungsvariablen und Befehlszeilenparametern einfach zu binden Binden Sie Konfigurationswerte an unsere Anwendung.

Erstellung einer Konfigurationsattributklasse

Zuerst müssen wir eine Konfigurationsattributklasse erstellen, um die Felder und Typen des Konfigurationsattributs zu deklarieren. Die folgende Klasse definiert beispielsweise zwei Konfigurationseigenschaften:

@ConfigurationProperties("my.app")
public class AppConfig {
    private String name;
    private int port;

    // getter and setter methods
}

Eigenschaftsquellen

In Spring Boot können Konfigurationseigenschaften aus verschiedenen Eigenschaftsquellen gebunden werden. Zu den häufigsten Eigenschaftsquellen gehören:

  • Anwendungseigenschaftendatei: Befindet sich in src/main/resources/application.properties und enthält Schlüssel-Wert-Paare.
  • src/main/resources/application.properties 中,包含键值对。
  • 环境变量:系统环境变量,以 MY_APP_NAME 等格式命名。
  • 命令行参数:--my.app.name=value 等格式传递给应用程序。

属性绑定

Spring Boot 会自动将配置属性从属性源绑定到配置属性类。此绑定通过 @ConfigurationProperties 注解完成。

实战案例

以下是一个实战案例,展示了如何在 Spring Boot 应用程序中使用配置属性:

@SpringBootApplication
public class MyApp {
    public static void main(String[] args) {
        SpringApplication.run(MyApp.class, args);
        AppConfig config = beanFactory.getBean(AppConfig.class);

        System.out.println("Name: " + config.getName());
        System.out.println("Port: " + config.getPort());
    }
}

在这个示例中,我们创建了一个 AppConfig 类,并使用 @ConfigurationProperties 注解将其声明为配置属性类。然后,我们使用 beanFactory 获取 AppConfig bean,并打印配置的属性值。

运行此应用程序并提供 application.properties

Umgebungsvariablen:

Systemumgebungsvariablen, benannt im Format MY_APP_NAME.

🎜Befehlszeilenparameter: 🎜 werden im Format --my.app.name=value an die Anwendung übergeben. 🎜🎜Eigenschaftsbindung🎜🎜🎜Spring Boot bindet automatisch Konfigurationseigenschaften von der Eigenschaftsquelle an die Konfigurationseigenschaftsklasse. Diese Bindung erfolgt über die Annotation @ConfigurationProperties. 🎜🎜🎜Ein praktischer Fall🎜🎜🎜Das Folgende ist ein praktischer Fall, der zeigt, wie Konfigurationseigenschaften in einer Spring Boot-Anwendung verwendet werden: 🎜
my.app.name=My Application
my.app.port=8080
🎜In diesem Beispiel erstellen wir eine AppConfig-Klasse und deklarieren sie als eine Konfigurationseigenschaftenklasse mit der Annotation @ConfigurationProperties. Anschließend verwenden wir beanFactory, um die Bean AppConfig abzurufen und die konfigurierten Eigenschaftswerte auszugeben. 🎜🎜Führen Sie diese Anwendung aus und stellen Sie die Datei application.properties bereit: 🎜
Name: My Application
Port: 8080
🎜Sie sollten die Ausgabe in der Konsole sehen: 🎜rrreee

Das obige ist der detaillierte Inhalt vonWie werden Konfigurationseigenschaften in Spring Boot gebunden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn