代码拉取完成,页面将自动刷新
同步操作将从 huifer/Code-Analysis 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
org.springframework.beans.ExtendedBeanInfoFactory
ExtendedBeanInfo
作为BeanInfoFactory
的实现, 主要目的和接口BeanInfoFactory
一样. 返回一个 BeanInfo 接口对象.
接下来我们对这个方法进行分析
@Override
@Nullable
public BeanInfo getBeanInfo(Class<?> beanClass) throws IntrospectionException {
return (supports(beanClass) ? new ExtendedBeanInfo(Introspector.getBeanInfo(beanClass)) : null);
}
在 getBeanInfo
中出现了 supports
来判断是否支持创建BeanInfo
接口. 以及一个 BeanInfo
接口的实现类ExtendedBeanInfo
有关 ExtendedBeanInfo
可以查看: 这篇文章
private boolean supports(Class<?> beanClass) {
for (Method method : beanClass.getMethods()) {
if (ExtendedBeanInfo.isCandidateWriteMethod(method)) {
return true;
}
}
return false;
}
在 supports
出现的判断依据是 org.springframework.beans.ExtendedBeanInfo.isCandidateWriteMethod
起作用是判断是否可写. 即 set 方法
public static boolean isCandidateWriteMethod(Method method) {
String methodName = method.getName();
int nParams = method.getParameterCount();
return (methodName.length() > 3 && methodName.startsWith("set") && Modifier.isPublic(method.getModifiers()) &&
(!void.class.isAssignableFrom(method.getReturnType()) || Modifier.isStatic(method.getModifiers())) &&
(nParams == 1 || (nParams == 2 && int.class == method.getParameterTypes()[0])));
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。