我需要向某些类实现的接口(interface)添加默认方法,但我的 IDE 提示(bean 可能尚未初始化
)。
代码如下:
public interface IValidator {
MyValidationBean beanToBeAutowired;
...
default Boolean doSomeNewValidations(){
return beanToBeAutowired.doSomeNewValidations();
}
}
是否只是不允许 Autowiring 到接口(interface)中或者代码有问题?
在界面上使用 @Component
没有任何区别。
我宁愿保留这个设计而不是使用抽象类。
最佳答案
我可以想到如下解决方案 -
public interface IValidator {
public Service getBeanToBeAutowired();
default Boolean doSomeNewValidations(){
return getBeanToBeAutowired().doSomeNewValidations();
}
}
public class ValidatorClass implements IValidator {
@Autowire private Service service;
@Override
public Service getBeanToBeAutowired() {
return service;
}
}
关于java - 将 Spring Bean Autowiring 到默认方法的接口(interface)中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52621518/