How to read variable or concatenate one property in @Value annotation of spring boot












1















I have one POJO class which read properties from application.yaml file in spring boot. Here I need to set default value to groupId(to get when not given) based on combination of topic value and another string.



private String topic;

@Value("${topic}_test")
private String groupId;


I tried this but getting error as




Could not resolve placeholder 'topic' in value "${topic}_test




I create a variable and tried to access it in @Value but failed.
Please provide any suggestion to access this










share|improve this question

























  • Do you have @ConfigurationProperties at class? For more info see e.g. baeldung.com/configuration-properties-in-spring-boot

    – h0nzan
    Nov 21 '18 at 21:36











  • Yes i have given that annotation

    – esha ingle
    Nov 22 '18 at 4:39
















1















I have one POJO class which read properties from application.yaml file in spring boot. Here I need to set default value to groupId(to get when not given) based on combination of topic value and another string.



private String topic;

@Value("${topic}_test")
private String groupId;


I tried this but getting error as




Could not resolve placeholder 'topic' in value "${topic}_test




I create a variable and tried to access it in @Value but failed.
Please provide any suggestion to access this










share|improve this question

























  • Do you have @ConfigurationProperties at class? For more info see e.g. baeldung.com/configuration-properties-in-spring-boot

    – h0nzan
    Nov 21 '18 at 21:36











  • Yes i have given that annotation

    – esha ingle
    Nov 22 '18 at 4:39














1












1








1








I have one POJO class which read properties from application.yaml file in spring boot. Here I need to set default value to groupId(to get when not given) based on combination of topic value and another string.



private String topic;

@Value("${topic}_test")
private String groupId;


I tried this but getting error as




Could not resolve placeholder 'topic' in value "${topic}_test




I create a variable and tried to access it in @Value but failed.
Please provide any suggestion to access this










share|improve this question
















I have one POJO class which read properties from application.yaml file in spring boot. Here I need to set default value to groupId(to get when not given) based on combination of topic value and another string.



private String topic;

@Value("${topic}_test")
private String groupId;


I tried this but getting error as




Could not resolve placeholder 'topic' in value "${topic}_test




I create a variable and tried to access it in @Value but failed.
Please provide any suggestion to access this







spring-boot annotations






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Nov 21 '18 at 13:41









Alien

5,47331127




5,47331127










asked Nov 21 '18 at 13:34









esha ingleesha ingle

163




163













  • Do you have @ConfigurationProperties at class? For more info see e.g. baeldung.com/configuration-properties-in-spring-boot

    – h0nzan
    Nov 21 '18 at 21:36











  • Yes i have given that annotation

    – esha ingle
    Nov 22 '18 at 4:39



















  • Do you have @ConfigurationProperties at class? For more info see e.g. baeldung.com/configuration-properties-in-spring-boot

    – h0nzan
    Nov 21 '18 at 21:36











  • Yes i have given that annotation

    – esha ingle
    Nov 22 '18 at 4:39

















Do you have @ConfigurationProperties at class? For more info see e.g. baeldung.com/configuration-properties-in-spring-boot

– h0nzan
Nov 21 '18 at 21:36





Do you have @ConfigurationProperties at class? For more info see e.g. baeldung.com/configuration-properties-in-spring-boot

– h0nzan
Nov 21 '18 at 21:36













Yes i have given that annotation

– esha ingle
Nov 22 '18 at 4:39





Yes i have given that annotation

– esha ingle
Nov 22 '18 at 4:39












1 Answer
1






active

oldest

votes


















1














Default value



Let's say you have a property like this in your application.yml file



topic: myFavoriteTopic


The code below will assign the value "myFavoriteTopic" to variable groupId if Spring is able to load the property with key topic from application.yml. If it's not, it will assign the default value "my default topic".



@Value("${topic:my default topic}")
private String groupId;


To set null as the default value, use:



@Value("${topic:#{null}}")


To use an empty String as the default value, use:



@Value("${topic:}")


Get key name from a variable



In your code snippet you have a String topic variable. For the Spring framework, this variable is not used in the property value retrieval. When you do @Value("${topic}"), "topic" is the name of the key that Spring will look for in application.yml. The name of the key cannot be determined at runtime based on the value of a Java variable. The reason is that properties can be loaded before the class code executes.



_test suffix



Also in your code snippet, you use @Value("${topic}_test"). What Spring does in this case is to concatenate "_test" to the value retrieved for property key topic. In my first example, groupId would be assigned "myFavoriteTopic_test".






share|improve this answer























    Your Answer






    StackExchange.ifUsing("editor", function () {
    StackExchange.using("externalEditor", function () {
    StackExchange.using("snippets", function () {
    StackExchange.snippets.init();
    });
    });
    }, "code-snippets");

    StackExchange.ready(function() {
    var channelOptions = {
    tags: "".split(" "),
    id: "1"
    };
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function() {
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled) {
    StackExchange.using("snippets", function() {
    createEditor();
    });
    }
    else {
    createEditor();
    }
    });

    function createEditor() {
    StackExchange.prepareEditor({
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    bindNavPrevention: true,
    postfix: "",
    imageUploader: {
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    },
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    });


    }
    });














    draft saved

    draft discarded


















    StackExchange.ready(
    function () {
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53413234%2fhow-to-read-variable-or-concatenate-one-property-in-value-annotation-of-spring%23new-answer', 'question_page');
    }
    );

    Post as a guest















    Required, but never shown

























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    1














    Default value



    Let's say you have a property like this in your application.yml file



    topic: myFavoriteTopic


    The code below will assign the value "myFavoriteTopic" to variable groupId if Spring is able to load the property with key topic from application.yml. If it's not, it will assign the default value "my default topic".



    @Value("${topic:my default topic}")
    private String groupId;


    To set null as the default value, use:



    @Value("${topic:#{null}}")


    To use an empty String as the default value, use:



    @Value("${topic:}")


    Get key name from a variable



    In your code snippet you have a String topic variable. For the Spring framework, this variable is not used in the property value retrieval. When you do @Value("${topic}"), "topic" is the name of the key that Spring will look for in application.yml. The name of the key cannot be determined at runtime based on the value of a Java variable. The reason is that properties can be loaded before the class code executes.



    _test suffix



    Also in your code snippet, you use @Value("${topic}_test"). What Spring does in this case is to concatenate "_test" to the value retrieved for property key topic. In my first example, groupId would be assigned "myFavoriteTopic_test".






    share|improve this answer




























      1














      Default value



      Let's say you have a property like this in your application.yml file



      topic: myFavoriteTopic


      The code below will assign the value "myFavoriteTopic" to variable groupId if Spring is able to load the property with key topic from application.yml. If it's not, it will assign the default value "my default topic".



      @Value("${topic:my default topic}")
      private String groupId;


      To set null as the default value, use:



      @Value("${topic:#{null}}")


      To use an empty String as the default value, use:



      @Value("${topic:}")


      Get key name from a variable



      In your code snippet you have a String topic variable. For the Spring framework, this variable is not used in the property value retrieval. When you do @Value("${topic}"), "topic" is the name of the key that Spring will look for in application.yml. The name of the key cannot be determined at runtime based on the value of a Java variable. The reason is that properties can be loaded before the class code executes.



      _test suffix



      Also in your code snippet, you use @Value("${topic}_test"). What Spring does in this case is to concatenate "_test" to the value retrieved for property key topic. In my first example, groupId would be assigned "myFavoriteTopic_test".






      share|improve this answer


























        1












        1








        1







        Default value



        Let's say you have a property like this in your application.yml file



        topic: myFavoriteTopic


        The code below will assign the value "myFavoriteTopic" to variable groupId if Spring is able to load the property with key topic from application.yml. If it's not, it will assign the default value "my default topic".



        @Value("${topic:my default topic}")
        private String groupId;


        To set null as the default value, use:



        @Value("${topic:#{null}}")


        To use an empty String as the default value, use:



        @Value("${topic:}")


        Get key name from a variable



        In your code snippet you have a String topic variable. For the Spring framework, this variable is not used in the property value retrieval. When you do @Value("${topic}"), "topic" is the name of the key that Spring will look for in application.yml. The name of the key cannot be determined at runtime based on the value of a Java variable. The reason is that properties can be loaded before the class code executes.



        _test suffix



        Also in your code snippet, you use @Value("${topic}_test"). What Spring does in this case is to concatenate "_test" to the value retrieved for property key topic. In my first example, groupId would be assigned "myFavoriteTopic_test".






        share|improve this answer













        Default value



        Let's say you have a property like this in your application.yml file



        topic: myFavoriteTopic


        The code below will assign the value "myFavoriteTopic" to variable groupId if Spring is able to load the property with key topic from application.yml. If it's not, it will assign the default value "my default topic".



        @Value("${topic:my default topic}")
        private String groupId;


        To set null as the default value, use:



        @Value("${topic:#{null}}")


        To use an empty String as the default value, use:



        @Value("${topic:}")


        Get key name from a variable



        In your code snippet you have a String topic variable. For the Spring framework, this variable is not used in the property value retrieval. When you do @Value("${topic}"), "topic" is the name of the key that Spring will look for in application.yml. The name of the key cannot be determined at runtime based on the value of a Java variable. The reason is that properties can be loaded before the class code executes.



        _test suffix



        Also in your code snippet, you use @Value("${topic}_test"). What Spring does in this case is to concatenate "_test" to the value retrieved for property key topic. In my first example, groupId would be assigned "myFavoriteTopic_test".







        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Feb 27 at 18:11









        Paulo MersonPaulo Merson

        5,53443338




        5,53443338
































            draft saved

            draft discarded




















































            Thanks for contributing an answer to Stack Overflow!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid



            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.


            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53413234%2fhow-to-read-variable-or-concatenate-one-property-in-value-annotation-of-spring%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            鏡平學校

            ꓛꓣだゔៀៅຸ໢ທຮ໕໒ ,ໂ'໥໓າ໼ឨឲ៵៭ៈゎゔit''䖳𥁄卿' ☨₤₨こゎもょの;ꜹꟚꞖꞵꟅꞛေၦေɯ,ɨɡ𛃵𛁹ޝ޳ޠ޾,ޤޒޯ޾𫝒𫠁သ𛅤チョ'サノބޘދ𛁐ᶿᶇᶀᶋᶠ㨑㽹⻮ꧬ꧹؍۩وَؠ㇕㇃㇪ ㇦㇋㇋ṜẰᵡᴠ 軌ᵕ搜۳ٰޗޮ޷ސޯ𫖾𫅀ल, ꙭ꙰ꚅꙁꚊꞻꝔ꟠Ꝭㄤﺟޱސꧨꧼ꧴ꧯꧽ꧲ꧯ'⽹⽭⾁⿞⼳⽋២៩ញណើꩯꩤ꩸ꩮᶻᶺᶧᶂ𫳲𫪭𬸄𫵰𬖩𬫣𬊉ၲ𛅬㕦䬺𫝌𫝼,,𫟖𫞽ហៅ஫㆔ాఆఅꙒꚞꙍ,Ꙟ꙱エ ,ポテ,フࢰࢯ𫟠𫞶 𫝤𫟠ﺕﹱﻜﻣ𪵕𪭸𪻆𪾩𫔷ġ,ŧآꞪ꟥,ꞔꝻ♚☹⛵𛀌ꬷꭞȄƁƪƬșƦǙǗdžƝǯǧⱦⱰꓕꓢႋ神 ဴ၀க௭எ௫ឫោ ' េㇷㇴㇼ神ㇸㇲㇽㇴㇼㇻㇸ'ㇸㇿㇸㇹㇰㆣꓚꓤ₡₧ ㄨㄟ㄂ㄖㄎ໗ツڒذ₶।ऩछएोञयूटक़कयँृी,冬'𛅢𛅥ㇱㇵㇶ𥄥𦒽𠣧𠊓𧢖𥞘𩔋цѰㄠſtʯʭɿʆʗʍʩɷɛ,əʏダヵㄐㄘR{gỚṖḺờṠṫảḙḭᴮᵏᴘᵀᵷᵕᴜᴏᵾq﮲ﲿﴽﭙ軌ﰬﶚﶧ﫲Ҝжюїкӈㇴffצּ﬘﭅﬈軌'ffistfflſtffतभफɳɰʊɲʎ𛁱𛁖𛁮𛀉 𛂯𛀞నఋŀŲ 𫟲𫠖𫞺ຆຆ ໹້໕໗ๆทԊꧢꧠ꧰ꓱ⿝⼑ŎḬẃẖỐẅ ,ờỰỈỗﮊDžȩꭏꭎꬻ꭮ꬿꭖꭥꭅ㇭神 ⾈ꓵꓑ⺄㄄ㄪㄙㄅㄇstA۵䞽ॶ𫞑𫝄㇉㇇゜軌𩜛𩳠Jﻺ‚Üမ႕ႌႊၐၸဓၞၞၡ៸wyvtᶎᶪᶹစဎ꣡꣰꣢꣤ٗ؋لㇳㇾㇻㇱ㆐㆔,,㆟Ⱶヤマފ޼ޝަݿݞݠݷݐ',ݘ,ݪݙݵ𬝉𬜁𫝨𫞘くせぉて¼óû×ó£…𛅑הㄙくԗԀ5606神45,神796'𪤻𫞧ꓐ㄁ㄘɥɺꓵꓲ3''7034׉ⱦⱠˆ“𫝋ȍ,ꩲ軌꩷ꩶꩧꩫఞ۔فڱێظペサ神ナᴦᵑ47 9238їﻂ䐊䔉㠸﬎ffiﬣ,לּᴷᴦᵛᵽ,ᴨᵤ ᵸᵥᴗᵈꚏꚉꚟ⻆rtǟƴ𬎎

            Why https connections are so slow when debugging (stepping over) in Java?