スプリングインジェクションを使用したプライベート静的最終フィールドメンバーの割り当て

アマンディープゴータム|

そのような割り当てを達成することは可能ですか?ここ記事private staticフィールドメンバーを扱っていますが、最終メンバーを割り当てることができないため、この場合は役に立ちません。

private static finalメンバーの修飾子として使用する理由:

  • データメンバーはServiceClientであるため、インスタンスに依存しないため、タイプにアタッチすることは理にかなっています。スレッドセーフでもあるため、インスタンスごとにクライアントを初期化しないため、パフォーマンスが向上します。
  • サービスクライアント自体はBeanであり、スコープはシングルトンです。したがって、実際には1つのインスタンスしかありません。インスタンスは常に1つであるため、再割り当てを許可しても意味がありません。
  • このクライアントはこのクラスのメソッドによってのみ使用されるため、プライベートです。

これがアンチパターンであるかどうかは正確にはわかりませんが、そうである場合、私の正当化はそれを使用する資格がありますか?はいの場合、どのようにそれを行うことができますか。いいえの場合は、代替案を提案してください(そして、知識の目的のためだけに、これをどのように達成できるかを知りたいと思います)。

geoand

あなたがやろうとしていることは、まったく不可能です。

最も基本的な理由は、Javaがstatic finalコード内の「可変」オカレンスを実際の値に置き換えることです(もちろんコンパイル時に認識されているため)。詳細については、このSOの回答を確認してください。

を使用しない場合でもfinal、Springではstatic変数に直接値を挿入することはできません次のようなセッターを使用する必要があります。

@Value("${my.name}")
public void setPrivateName(String privateName) {
    Sample.name = privateName;
}  

詳細については、このSOの回答を確認してください

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Javaリフレクションを使用してプライベート静的最終フィールドを変更する

分類Dev

Android:Javaリフレクションを使用してプライベート静的最終フィールドを変更する

分類Dev

リフレクションでプライベート静的最終フィールドを設定する

分類Dev

リフレクションを使用してプライベートフィールドを設定すると、静的または最終では機能しますが、静的最終では機能しません(組み合わせ)

分類Dev

Javaリフレクション、プライベート静的最終フィールドの変更は何もしませんでした

分類Dev

Spring CGLIB、トランザクション、プライベート最終フィールドの初期化

分類Dev

プライベートメンバーを変更したり、リフレクションを使用してC#でプライベートメソッドを実行したりできるのはなぜですか?

分類Dev

リフレクションを介してプライベート最終フィールドを変更する

分類Dev

ctorが削除されると、リフレクションを介してプライベート最終フィールドを設定できない

分類Dev

リフレクションを使用して静的クラスでプライベート静的メソッドを見つける方法は?

分類Dev

authトークンを使用して、特定のパッケージバージョンのプライベートNPMレジストリをクエリしますが、ファイルシステムへのアクセスはありませんか?

分類Dev

地図(iOS MapKit)の検索結果をフィルタリングするボタン付きのスライド式ハンバーガーメニューを使用したロケーションベースのアプリXcode

分類Dev

プロジェクトバージョンのようなPHPMysqlインクリメントデータベースフィールド

分類Dev

プライベート フィールドの代わりに静的クラス メンバーを使用する場合の速度の違いは何ですか?

分類Dev

グーグルアプリスクリプトを使用してグーグルシートのセルへのハイパーリンクをグーグルドライブファイルに割り当てる

分類Dev

Couchbaseのライトプルレプリケーションは、プロジェクトのテストを終了するために、サンプルCouchbaseのモバイルエンドのエラーで失敗します

分類Dev

静的スクリプトファイルは、GETメソッドのサーバー側レンダリングをオーバーライドします

分類Dev

バックボーンjs-json応答がドメインブックでラップされている場合、コレクションオブジェクトのフィールドをレンダリングできません

分類Dev

スプリングフィールド注入は、コンストラクタ・インジェクション(のIntelliJ IDEA)に変換しますか?

分類Dev

ジェンキンスのビルド後アクションを使用して、アーティファクトのグループから jfrog アーティファクトにアーティファクトをデプロイする方法

分類Dev

Firebaseクラウドメッセージング(FCM)せずに自分のアプリケーションをインストールしたすべてのデバイスにプッシュ通知を作成することが可能ですか?

分類Dev

RESTEasyシングルトンへのリクエストスコープのコンテキストフィールドインジェクション

分類Dev

バイナリXMLファイルの9行目:Googleマップフラグメントを使用したクラスフラグメントのインフレーションエラー

分類Dev

ストリームを使用してJavaでオブジェクトのコレクションをマップおよびフィルタリングするためのベストプラクティス

分類Dev

Angular2を使用したインジェクションとグローバル静的クラス

分類Dev

リフレクションを使用してタイプパラメータのオブジェクトをインスタンス化する

分類Dev

オブジェクトインスタンスを介したプライベート静的メンバーへのアクセス

分類Dev

クラウドフォーメーションを使用してAWSEC2インスタンスでファイルを作成するためのベストプラクティス

分類Dev

キーバインド/スクリプトを使用してbashターミナルアプリケーションを開き、アプリケーションの終了後にウィンドウを保持/保持します

Related 関連記事

  1. 1

    Javaリフレクションを使用してプライベート静的最終フィールドを変更する

  2. 2

    Android:Javaリフレクションを使用してプライベート静的最終フィールドを変更する

  3. 3

    リフレクションでプライベート静的最終フィールドを設定する

  4. 4

    リフレクションを使用してプライベートフィールドを設定すると、静的または最終では機能しますが、静的最終では機能しません(組み合わせ)

  5. 5

    Javaリフレクション、プライベート静的最終フィールドの変更は何もしませんでした

  6. 6

    Spring CGLIB、トランザクション、プライベート最終フィールドの初期化

  7. 7

    プライベートメンバーを変更したり、リフレクションを使用してC#でプライベートメソッドを実行したりできるのはなぜですか?

  8. 8

    リフレクションを介してプライベート最終フィールドを変更する

  9. 9

    ctorが削除されると、リフレクションを介してプライベート最終フィールドを設定できない

  10. 10

    リフレクションを使用して静的クラスでプライベート静的メソッドを見つける方法は?

  11. 11

    authトークンを使用して、特定のパッケージバージョンのプライベートNPMレジストリをクエリしますが、ファイルシステムへのアクセスはありませんか?

  12. 12

    地図(iOS MapKit)の検索結果をフィルタリングするボタン付きのスライド式ハンバーガーメニューを使用したロケーションベースのアプリXcode

  13. 13

    プロジェクトバージョンのようなPHPMysqlインクリメントデータベースフィールド

  14. 14

    プライベート フィールドの代わりに静的クラス メンバーを使用する場合の速度の違いは何ですか?

  15. 15

    グーグルアプリスクリプトを使用してグーグルシートのセルへのハイパーリンクをグーグルドライブファイルに割り当てる

  16. 16

    Couchbaseのライトプルレプリケーションは、プロジェクトのテストを終了するために、サンプルCouchbaseのモバイルエンドのエラーで失敗します

  17. 17

    静的スクリプトファイルは、GETメソッドのサーバー側レンダリングをオーバーライドします

  18. 18

    バックボーンjs-json応答がドメインブックでラップされている場合、コレクションオブジェクトのフィールドをレンダリングできません

  19. 19

    スプリングフィールド注入は、コンストラクタ・インジェクション(のIntelliJ IDEA)に変換しますか?

  20. 20

    ジェンキンスのビルド後アクションを使用して、アーティファクトのグループから jfrog アーティファクトにアーティファクトをデプロイする方法

  21. 21

    Firebaseクラウドメッセージング(FCM)せずに自分のアプリケーションをインストールしたすべてのデバイスにプッシュ通知を作成することが可能ですか?

  22. 22

    RESTEasyシングルトンへのリクエストスコープのコンテキストフィールドインジェクション

  23. 23

    バイナリXMLファイルの9行目:Googleマップフラグメントを使用したクラスフラグメントのインフレーションエラー

  24. 24

    ストリームを使用してJavaでオブジェクトのコレクションをマップおよびフィルタリングするためのベストプラクティス

  25. 25

    Angular2を使用したインジェクションとグローバル静的クラス

  26. 26

    リフレクションを使用してタイプパラメータのオブジェクトをインスタンス化する

  27. 27

    オブジェクトインスタンスを介したプライベート静的メンバーへのアクセス

  28. 28

    クラウドフォーメーションを使用してAWSEC2インスタンスでファイルを作成するためのベストプラクティス

  29. 29

    キーバインド/スクリプトを使用してbashターミナルアプリケーションを開き、アプリケーションの終了後にウィンドウを保持/保持します

ホットタグ

アーカイブ