SpringBoot:プロファイルプレースホルダ


SpringBoot: 2.2.1.RELEASE
IDE: IDEA
使用モジュールはWEBモジュールとテストモジュール
コンフィギュレーション・ファイルでは、プレースホルダを使用する場合があります.フォーマットは**${インデックス値:[デフォルト]}**です.これは理解しにくいかもしれませんが、以下で詳しく説明します.
  • 乱数
  •  ${random.int}              //  int 
     ${random.int(10)}          //  10 int 
     ${random.int[12,19]}       //  12 19 int 
     ${random.long}             //  long 
    
  • 宣言後の値
  • を取得
     person.name=                        #  
     person.maps.k1=${person.name}          #  , , 
     person.school.name=${person.name}   #  
    
  • 判断取値
  •  person.name=                        #  
     
     #  , , , , 
     person.lists=${person.hello:list1},${person.name:list2}
    

    使用結果は次のとおりです.
    注入オブジェクト
    @Component
    @ConfigurationProperties(prefix = "person")
    public class Person {
        private String name;
        private Integer age;
        private Boolean student;
        private Date birthDate;
        private Map<String,Object> maps;
        private List<Object> lists;
    
        private School school;
         // getter 、setter  toString 
    }
    

    プロファイル
    person.name= 
    person.age=${random.int(10)}
    person.student=true
    person.birthDate=2019/11/14
    person.maps.k1=${person.name}
    person.maps.k2=${person.hello}
    person.lists=${person.hello:list1},${person.name:list2}
    person.school.name=${person.name} 
    person.school.start-date=2019/09/01
    

    実行結果
    Person {
    	name = ' ', 
    	age = 3, 
        student = true,
        birthDate = Thu Nov 14 00:00:00 GMT+08:00 2019, 
    	maps = {
    		k1 =  ,
    		k2 = $ { person.hello }
    	}, 
    	lists = [list1,  ], 
    	school = School {
    		name = ' ', 
    		startDate = Sun Sep 01 00: 00: 00 GMT + 08: 00 2019
    	}
    }
    

    上から私たちのプレースホルダが有効になったことがわかります.