我有一个接口,其中使用
static final Repsonse = new Response(...)
.
这些常量被接口中定义的方法使用(或者更确切地说:应该使用)作为返回值。
现在我让 Spring 实例化实现此接口的类,但是在运行应用程序时这些常量并未启动(它们是null
)。
这是接口的一般问题还是 Spring 特有的问题?
也许有更好的方法来实现预期的功能?
对于那些需要 mroe 信息的人:
该接口定义了一个“检查器”,它定义了几种不同的方法来检查对象的状态。这些方法中的每一个都应返回一个标准化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;
}
}