3

を使用して定数を定義するインターフェイスがあります
static final Repsonse = new Response(...)
これらの定数は、インターフェースで定義されたメソッドによって戻り値として使用されます (というか、使用する必要があります)。

ここで、このインターフェースを実装するクラスを Spring でインスタンス化しますが、これらの定数はnull、アプリケーションの実行時に開始されません (開始されます)。

これはインターフェイスの一般的な問題ですか、それとも Spring に固有のものですか?
意図した機能を達成するためのより良い方法があるでしょうか?

複数の情報が必要な方へ:
インターフェイスは、オブジェクトの状態をチェックするためのいくつかの異なるメソッドを定義する「チェッカー」を定義します。これらの各メソッドはResponse、メソッドによって検査されているオブジェクトの状態に関する標準化された情報を含む単純なコンテナーである標準化されたオブジェクトを返すことが期待されています。
インターフェイスを使用する実装者がすぐに利用できるように、考えられるすべての応答コードを定数として定義するのは良い考えだと思いました。多分私は間違っていますか?

以下にいくつかのコード スニペットを示します。

public interface Validator
{
    static final Response VALID = new Response(some params);

    /** is expected to return the Response VALID */
    Response validate(String param1, String param2);
}

public class ValidatorImpl implements Validator
{
    public Response validate(String param1, String param2)
    {
        //VALID is null; also tried explicit static access here, no luck either
        return VALID;
    }
}
4

1 に答える 1