02 Spring Bootプロファイルの詳細
02 Spring Bootプロファイルの詳細文章指導 学習ノート ラーニングコード カスタムプロパティー src/main/java/resourcesディレクトリの下にアプリケーション.propertiesまたはアプリケーション.yml を作成アプリケーション.ymlでプロパティのセットをカスタマイズする プロファイルの値を読み込むには@Value("${属性名}") を追加するだけです.プロジェクトを開始し、アクセス:localhost:8080/config プロファイルのプロパティをエンティティークラスに割り当てる構成に多くの属性がある場合、これらの属性をフィールドとしてjavabeanを作成し、 に属性値を付与することができる. javabeanを作成し、注記@ConfigurationProperties(prefix="my") を追加アプリケーションクラスまたは起動クラスに注釈 を追加 ConfigBeanControllerクラス を追加プロジェクトの開始、アクセスhttp://localhost:8080/configbean
カスタムプロファイルアプリケーションプロファイルはシステムのデフォルトです.test.properties(test.ymlではなく、テストではデータが読めません)などの他の名前のプロファイルを追加できます. TestBeanを追加するには、ファイル名と接頭辞 を指定する必要があります. TestBeanController を追加プロジェクトを開始し、http://localhost:8080/testconfig
複数の環境プロファイル現実的な開発環境では、異なる構成環境が必要です.フォーマットはアプリケーション-{profile}.propertiesで、{profile}は などの環境IDに対応します.アプリケーション-test.properties:テスト環境 アプリケーション-dev.properties:開発環境 アプリケーション-prod.properties:生産環境 実際に使用されているプロファイルは、アプリケーション.ymlで追加することによって: アプリケーション-dev.yml を追加起動プログラム、アクセスhttp://localhost:8080/config、アプリケーション-dev.ymlの構成 が読み込まれていることがわかりました.アクセスhttp://localhost:8080/configbeanアプリケーション-dev.ymlとアプリケーション.ymlに重複するフィールドがある場合、前者は後者の値を上書きすることがわかります.
転載先:https://www.cnblogs.com/wang7/p/10776334.html
my:
name: boot
age: 12
@RestController
public class ConfigController {
@Value("${my.name}")
private String name;
@Value("${my.age}")
private int age;
@RequestMapping(value = "/config")
public String config(){
return name+":"+age;
}
}
my:
name: boot
age: 20
# ${random} , 。
number: ${random.int}
uuid: ${random.uuid}
max: ${random.int(10)}
value: ${random.value}
greeting: hi,i'm ${my.name}
@ConfigurationProperties(prefix = "my")
public class ConfigBean {
private String name;
private int age;
private int number;
private String uuid;
private int max;
private String value;
private String greeting;
get...set...
idea get,set toString
}
@EnableConfigurationProperties({ ConfigBean.class })
@RestController
public class ConfigBeanController {
@Autowired
private ConfigBean configBean;
@RequestMapping("/configbean")
public String config(){
//
return configBean.toString();
}
}
カスタムプロファイル
com.boot.name=boot
com.boot.age=20
@Configuration
@PropertySource(value = "classpath:test.properties")
@ConfigurationProperties(prefix = "com.boot")
public class TestBean {
private String name;
private int age;
get,set,tostring
}
@EnableConfigurationProperties({TestBean.class})
@RestController
public class TestBeanController {
@Autowired
private TestBean testBean;
@RequestMapping("/testconfig")
public String testConfig() {
return testBean.toString();
}
}
複数の環境プロファイル
spring:
profiles:
active: dev
my:
name: dev
age: 11
#server:
# port: 8082
ConfigBean{name='dev', age=11, number=-1422131996, uuid='5bebc511-f1a4-4f2b-95ed-540e4b48e8bd', max=0, value='8b96a5bbde492fb189e4fa52573c9caf', greeting='hi,i'm dev'}
転載先:https://www.cnblogs.com/wang7/p/10776334.html