1. ホーム
  2. java

[解決済み] Profile("String")と@ProfileNameの違いは何ですか?

2022-02-15 11:04:26

質問

この2つのプロファイルの定義の違いは何ですか。

@Profile("prod")
public DatabaseDatasource getProductionDatabase() {
//code
}

そして

@Profile("prod")
public @interface ProdProfile{}

@ProdProfile
public DatabaseDatasource getProductionDatabase() {
//code
}

解決方法は?

違いはありません。

違いは、必要なProfileをインターフェースとして書くだけであることです。 プロファイル名を変更する場合、あなたの例のようにプロジェクト全体から "prod" という文字列を検索するのではなく、一箇所だけ変更すればよいのです。

同じことを繰り返さない限り、同じように機能するはずです。