protected void inject(Object bean, String beanName, PropertyValues pvs) throws Throwable {
Field field = (Field) this.member;
try {
Object value;
if (this.cached) {
value = resolvedCachedArgument(beanName, this.cachedFieldValue);
} else {
DependencyDescriptor desc = new DependencyDescriptor(field, this.required);
desc.setContainingClass(bean.getClass());
Set
if (value != null) {
ReflectionUtils.makeAccessible(field);
field.set(bean, value);
}
```
上面的代码没有任何的难度,就是对JDK中反射的api的使用。
基本上后面就是重复这个过程对bean的属性进行注入,在这一过程中最重要的就是beanPostProcessor,注入都已依赖这一组完成的。