Maison  >  Article  >  Java  >  Comment les propriétés de configuration sont-elles liées dans Spring Boot ?

Comment les propriétés de configuration sont-elles liées dans Spring Boot ?

WBOY
WBOYoriginal
2024-04-18 09:09:02603parcourir

Les propriétés de configuration dans Spring Boot peuvent être liées aux classes de propriétés de configuration à partir de sources de propriétés, notamment les fichiers de propriétés d'application, les variables d'environnement et les paramètres de ligne de commande. La liaison de propriété est effectuée via l'annotation @ConfigurationProperties. Cas pratique : créez une classe d'attributs de configuration, liez la source d'attribut et obtenez l'attribut de configuration.

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

Liaison des propriétés de configuration dans Spring Boot

Spring Boot fournit un puissant mécanisme de propriétés de configuration, qui nous permet de lier facilement les propriétés de configuration provenant de diverses sources telles que les fichiers de propriétés d'application, les variables d'environnement et les paramètres de ligne de commande. lier les valeurs de configuration à notre application.

Création d'une classe d'attributs de configuration

Tout d'abord, nous devons créer une classe d'attributs de configuration pour déclarer les champs et les types de l'attribut de configuration. Par exemple, la classe suivante définit deux propriétés de configuration :

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

    // getter and setter methods
}

Sources de propriétés

Dans Spring Boot, les propriétés de configuration peuvent être liées à diverses sources de propriétés. Les sources de propriétés les plus courantes incluent :

  • Fichier de propriétés de l'application : Situé dans src/main/resources/application.properties et contient des paires clé-valeur.
  • 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

Variables d'environnement :

Variables d'environnement système, nommées au format MY_APP_NAME.

🎜Paramètres de ligne de commande : 🎜 sont transmis à l'application au format --my.app.name=value. 🎜🎜Property Binding🎜🎜🎜Spring Boot lie automatiquement les propriétés de configuration de la source de propriété à la classe de propriétés de configuration. Cette liaison se fait via l'annotation @ConfigurationProperties. 🎜🎜🎜Un cas pratique🎜🎜🎜Ce qui suit est un cas pratique montrant comment utiliser les propriétés de configuration dans une application Spring Boot : 🎜
my.app.name=My Application
my.app.port=8080
🎜Dans cet exemple, nous créons une classe AppConfig et la déclarons comme une classe de propriétés de configuration utilisant l'annotation @ConfigurationProperties. Nous utilisons ensuite beanFactory pour obtenir le bean AppConfig et imprimer les valeurs des propriétés configurées. 🎜🎜Exécutez cette application et fournissez le fichier application.properties : 🎜
Name: My Application
Port: 8080
🎜Vous devriez voir le résultat dans la console : 🎜rrreee

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn