Home > Java > javaTutorial > 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
Release: 2023-05-13 10:01:05
forward
2434 people have browsed it

    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>
    Copy after login

    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}
    Copy after login

    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
    Copy after login
    # yml文件中的注入
    customer:
      brain:
        training: @customer.brain.training@
    brain:
      training:
        report: @brain.training.report@
    train:
      path:
        source: @train.path.source@
    Copy after login
        // 项目中的使用,直接就是@value的正常形式
        @Value("${customer.brain.training}")
    	private String CustomerBrainTrainingUrl;
    Copy after login

    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!

    Related labels:
    source:yisu.com
    Statement of this Website
    The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
    Popular Tutorials
    More>
    Latest Downloads
    More>
    Web Effects
    Website Source Code
    Website Materials
    Front End Template