Home  >  Article  >  Java  >  What is the way to reference attribute variables in the springboot configuration file?

What is the way to reference attribute variables in the springboot configuration file?

WBOY
WBOYforward
2023-05-13 10:01:052376browse

    The attribute variable reference in the springboot configuration file@@

    The application method of this attribute is field_name=@field_value@.

    The two @ symbols are generated by springboot to replace the ${} attribute placeholder. The reason is that ${} will be processed by maven, so it should not be able to reference variables.

    @@ method can refer to variables in springboot non-default configuration files (i.e. other configuration files);

    springboot default configuration file is src/main/resources/application.properties

    Usage of @@ and ${} in reference to attribute variables

    Familiar environment-differentiated configuration methods

    What is the way to reference attribute variables in the springboot configuration file?

    Configure spring directly in application.properties Just use the .profiles.active attribute to distinguish the environment.

    @@what exactly is it?

    ${} and @@ are both ways springboot refers to attribute variables.

    ${} and @@

    1) The use of ${}

    The most commonly used one is to set the version number in the pom file The configuration usage, such as the following:

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

    There is also the assignment operation in the configuration file or .sh file, such as the following:

    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) The use of @@## The

    #@@ method is often used to reference variables in springboot non-default configuration files (i.e. other configuration files). It is generated by springboot as an alternative attribute placeholder. The reason is that the {} attribute placeholder is generated. The reason is The attribute placeholder is generated because {} will be processed by maven, so it will not function as a reference variable when referencing a non-default configuration file.

    What is the way to reference attribute variables in the springboot configuration file?

    For example, the yml in our project plays an overall role, injecting different values ​​through the configuration files of the four environments. I feel that the effect is the same as the original prod and test folders.

    3) @@Introducing ordinary value values

    In fact, my first question was not how to inject, but to see that all injections in the project have ownership relationships. , such as belonging to server/spring or mybatis or logging, etc. So I want to configure a common link path, how should I do it?

    What is the way to reference attribute variables in the springboot configuration file?

    In fact, it is complicated. You only need to directly copy the key in the properties into the yml file, and it will automatically form a key-value pair.

    # 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;

    The above is the detailed content of What is the way to reference attribute variables in the springboot configuration file?. For more information, please follow other related articles on the PHP Chinese website!

    Statement:
    This article is reproduced at:yisu.com. If there is any infringement, please contact admin@php.cn delete