我需要向一些类实现的接口添加一个默认方法,但我的IDE会抱怨(bean may not have been initialized
)。代码如下所示:
public interface IValidator {
MyValidationBean beanToBeAutowired;
...
default Boolean doSomeNewValidations(){
return beanToBeAutowired.doSomeNewValidations();
}
}
是不允许自动装配到接口中,还是代码有问题?在接口上使用@Component
没有任何区别。
我宁愿保留这种设计,而不是使用抽象类。
3条答案
按热度按时间pbossiut1#
我能想到的解决办法如下-
snvhrwxg2#
在Java中不可能在接口中添加变量。默认情况下,它将是
public static final
常量。因此您必须执行以下操作之一:或以下内容:
您可以在实现类中重写
beanToBeAutowired
方法。kmpatx3s3#
只是一个想法,发送验证
bean
到接口为parameter
;您的
callerClass
;