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

    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:亿速云. If there is any infringement, please contact admin@php.cn delete
    JVM performance vs other languagesJVM performance vs other languagesMay 14, 2025 am 12:16 AM

    JVM'sperformanceiscompetitivewithotherruntimes,offeringabalanceofspeed,safety,andproductivity.1)JVMusesJITcompilationfordynamicoptimizations.2)C offersnativeperformancebutlacksJVM'ssafetyfeatures.3)Pythonisslowerbuteasiertouse.4)JavaScript'sJITisles

    Java Platform Independence: Examples of useJava Platform Independence: Examples of useMay 14, 2025 am 12:14 AM

    JavaachievesplatformindependencethroughtheJavaVirtualMachine(JVM),allowingcodetorunonanyplatformwithaJVM.1)Codeiscompiledintobytecode,notmachine-specificcode.2)BytecodeisinterpretedbytheJVM,enablingcross-platformexecution.3)Developersshouldtestacross

    JVM Architecture: A Deep Dive into the Java Virtual MachineJVM Architecture: A Deep Dive into the Java Virtual MachineMay 14, 2025 am 12:12 AM

    TheJVMisanabstractcomputingmachinecrucialforrunningJavaprogramsduetoitsplatform-independentarchitecture.Itincludes:1)ClassLoaderforloadingclasses,2)RuntimeDataAreafordatastorage,3)ExecutionEnginewithInterpreter,JITCompiler,andGarbageCollectorforbytec

    JVM: Is JVM related to the OS?JVM: Is JVM related to the OS?May 14, 2025 am 12:11 AM

    JVMhasacloserelationshipwiththeOSasittranslatesJavabytecodeintomachine-specificinstructions,managesmemory,andhandlesgarbagecollection.ThisrelationshipallowsJavatorunonvariousOSenvironments,butitalsopresentschallengeslikedifferentJVMbehaviorsandOS-spe

    Java: Write Once, Run Anywhere (WORA) - A Deep Dive into Platform IndependenceJava: Write Once, Run Anywhere (WORA) - A Deep Dive into Platform IndependenceMay 14, 2025 am 12:05 AM

    Java implementation "write once, run everywhere" is compiled into bytecode and run on a Java virtual machine (JVM). 1) Write Java code and compile it into bytecode. 2) Bytecode runs on any platform with JVM installed. 3) Use Java native interface (JNI) to handle platform-specific functions. Despite challenges such as JVM consistency and the use of platform-specific libraries, WORA greatly improves development efficiency and deployment flexibility.

    Java Platform Independence: Compatibility with different OSJava Platform Independence: Compatibility with different OSMay 13, 2025 am 12:11 AM

    JavaachievesplatformindependencethroughtheJavaVirtualMachine(JVM),allowingcodetorunondifferentoperatingsystemswithoutmodification.TheJVMcompilesJavacodeintoplatform-independentbytecode,whichittheninterpretsandexecutesonthespecificOS,abstractingawayOS

    What features make java still powerfulWhat features make java still powerfulMay 13, 2025 am 12:05 AM

    Javaispowerfulduetoitsplatformindependence,object-orientednature,richstandardlibrary,performancecapabilities,andstrongsecurityfeatures.1)PlatformindependenceallowsapplicationstorunonanydevicesupportingJava.2)Object-orientedprogrammingpromotesmodulara

    Top Java Features: A Comprehensive Guide for DevelopersTop Java Features: A Comprehensive Guide for DevelopersMay 13, 2025 am 12:04 AM

    The top Java functions include: 1) object-oriented programming, supporting polymorphism, improving code flexibility and maintainability; 2) exception handling mechanism, improving code robustness through try-catch-finally blocks; 3) garbage collection, simplifying memory management; 4) generics, enhancing type safety; 5) ambda expressions and functional programming to make the code more concise and expressive; 6) rich standard libraries, providing optimized data structures and algorithms.

    See all articles

    Hot AI Tools

    Undresser.AI Undress

    Undresser.AI Undress

    AI-powered app for creating realistic nude photos

    AI Clothes Remover

    AI Clothes Remover

    Online AI tool for removing clothes from photos.

    Undress AI Tool

    Undress AI Tool

    Undress images for free

    Clothoff.io

    Clothoff.io

    AI clothes remover

    Video Face Swap

    Video Face Swap

    Swap faces in any video effortlessly with our completely free AI face swap tool!

    Hot Article

    Hot Tools

    SublimeText3 English version

    SublimeText3 English version

    Recommended: Win version, supports code prompts!

    SecLists

    SecLists

    SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.

    Safe Exam Browser

    Safe Exam Browser

    Safe Exam Browser is a secure browser environment for taking online exams securely. This software turns any computer into a secure workstation. It controls access to any utility and prevents students from using unauthorized resources.

    Atom editor mac version download

    Atom editor mac version download

    The most popular open source editor

    Notepad++7.3.1

    Notepad++7.3.1

    Easy-to-use and free code editor