filteredPds = filterPropertyDescriptorsForDependencyCheck(bw, mbd.allowCaching); checkDependencies(beanName, mbd, filteredPds, pvs);
filteredPds = filterPropertyDescriptorsForDependencyCheck(bw, mbd.allowCaching); checkDependencies(beanName, mbd, filteredPds, pvs);
checkDependencies(beanName, mbd, filteredPds, pvs);
checkDependencies(beanName, mbd, filteredPds, pvs);
/** * Populate the bean instance in the given BeanWrapper with the property values * from the bean definition. * @param beanName name of the bean * @param mergedBeanDefinition the bean definition for the bean * @param bw BeanWrapper with bean instance */ protected void populateBean(String beanName, RootBeanDefinition mergedBeanDefinition, BeanWrapper bw) throws BeansException { PropertyValues pvs = mergedBeanDefinition.getPropertyValues(); if (mergedBeanDefinition.getResolvedAutowireMode() == RootBeanDefinition.AUTOWIRE_BY_NAME || mergedBeanDefinition.getResolvedAutowireMode() == RootBeanDefinition.AUTOWIRE_BY_TYPE) { MutablePropertyValues mpvs = new MutablePropertyValues(pvs); // Add property values based on autowire by name if applicable. if (mergedBeanDefinition.getResolvedAutowireMode() == RootBeanDefinition.AUTOWIRE_BY_NAME) { autowireByName(beanName, mergedBeanDefinition, bw, mpvs); } // Add property values based on autowire by type if applicable. if (mergedBeanDefinition.getResolvedAutowireMode() == RootBeanDefinition.AUTOWIRE_BY_TYPE) { autowireByType(beanName, mergedBeanDefinition, bw, mpvs); } pvs = mpvs; } checkDependencies(beanName, mergedBeanDefinition, bw, pvs); applyPropertyValues(beanName, mergedBeanDefinition, bw, pvs); }