AbstractConfig中appendAnnotation方法中:
if (value != null && ! value.equals(method.getDefaultValue()))
因为check=false等于默认值,所以if里面的逻辑没有执行(setter方法没有被调用),导致AbstractReferenceConfig的check没有修改为false,还是null。
根本原因还是AbstractReferenceConfig中check的默认值是null,而@reference的默认值是false,修改方法要不把AbstractReferenceConfig的check改成false,要不把上面的判断去掉。
AbstractConfig中appendAnnotation方法中:
if (value != null && ! value.equals(method.getDefaultValue()))
因为check=false等于默认值,所以if里面的逻辑没有执行(setter方法没有被调用),导致AbstractReferenceConfig的check没有修改为false,还是null。
根本原因还是AbstractReferenceConfig中check的默认值是null,而@reference的默认值是false,修改方法要不把AbstractReferenceConfig的check改成false,要不把上面的判断去掉。