Maison  >  Article  >  Java  >  Quelle est la manière de référencer les variables d'attribut dans le fichier de configuration Springboot ?

Quelle est la manière de référencer les variables d'attribut dans le fichier de configuration Springboot ?

WBOY
WBOYavant
2023-05-13 10:01:052374parcourir

    La référence de la variable d'attribut dans le fichier de configuration Springboot @@

    La façon dont cet attribut est appliqué est field_name=@field_value @.

    Les deux symboles @ sont générés par springboot pour remplacer l'espace réservé de l'attribut ${} La raison est que ${} sera traité par maven, il ne devrait donc pas pouvoir référencer des variables. La méthode

    @@ peut faire référence à des variables dans les fichiers de configuration autres que ceux par défaut de Springboot (c'est-à-dire d'autres fichiers de configuration)

    le fichier de configuration par défaut de Springboot est src/main/resources/application. propriétés

    Utilisation de @@ et ${} en référence aux variables d'attribut

    Méthode de configuration familière différenciée en fonction de l'environnement

    Quelle est la manière de référencer les variables dattribut dans le fichier de configuration Springboot ?#🎜 🎜 #

    Il suffit de configurer la propriété spring.profiles.active directement dans application.properties pour distinguer l'environnement.

    @@C'est quoi exactement ?

    ${} et @@ sont les deux façons dont Springboot fait référence aux variables d'attribut.

    ${} et l'utilisation de @@

    1) L'utilisation de ${}

    Le le plus couramment utilisé C'est la configuration et l'utilisation du numéro de version dans le fichier pom, comme le suivant :

    <properties>
    	        <swagger.version>2.8.0</swagger.version>
    	    </properties>
    	    
    		<dependency>
                <groupId>io.springfox</groupId>
                <artifactId>springfox-swagger2</artifactId>
                <version>${swagger.version}</version>
            </dependency>

    Il y a aussi l'opération d'affectation dans le fichier de configuration ou le fichier .sh, comme le suivant :

    IMAGES_NAME=brain-health-openplatform
    CONTAINER_NAME=brain-health-openplatform
    APP_PORT=7701
    APP_HOME=/home/admin/brain-health-openplatform
    #启动容器
    docker run -d --name ${CONTAINER_NAME} -p ${APP_PORT}:${APP_PORT} -v ${APP_HOME}/logs:/logs ${CONTAINER_NAME}
    #🎜🎜 #

    2) L'utilisation de la méthode @@

    @@ est souvent utilisée pour référencer des variables dans les fichiers de configuration autres que ceux par défaut de Springboot. (c'est-à-dire d'autres fichiers de configuration), qui est utilisé par springboot pour les attributs alternatifs. La raison est que les espaces réservés pour les attributs {} sont générés. La raison est que {} sera traité par maven, il ne jouera donc pas le rôle de variables de référence lorsque. faisant référence à des fichiers de configuration autres que ceux par défaut.

    Quelle est la manière de référencer les variables dattribut dans le fichier de configuration Springboot ?Par exemple, le yml de notre projet joue un rôle global, injectant différentes valeurs via les fichiers de configuration des quatre environnements. Je pense que l'effet est le même que celui des dossiers prod et test d'origine.

    3) @@Introduire la valeur ordinaire

    En fait, ma question initiale n'était pas de savoir comment l'injecter, mais de voir ce qui se passe dans le projet, les injections ont des relations de propriété, telles que serveur/spring ou mybatis ou journalisation. Je souhaite donc configurer un chemin de lien commun, comment dois-je procéder ?

    Quelle est la manière de référencer les variables dattribut dans le fichier de configuration Springboot ?En fait, c'est compliqué, il suffit de copier directement la clé dans les propriétés dans le fichier yml, et elle formera automatiquement une clé-valeur. paire. #🎜🎜 #

    # properties文件中:
    customer.brain.training=XXX
    brain.training.report=XXX
    train.path.source=XXX
    # yml文件中的注入
    customer:
      brain:
        training: @customer.brain.training@
    brain:
      training:
        report: @brain.training.report@
    train:
      path:
        source: @train.path.source@
        // 项目中的使用,直接就是@value的正常形式
        @Value("${customer.brain.training}")
    	private String CustomerBrainTrainingUrl;

    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:
    Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer