|
|
|
@ -286,7 +286,7 @@ public abstract class AbstractAutowireCapableBeanFactory extends AbstractBeanFac |
|
|
|
// Use prototype bean definition, to avoid registering bean as dependent bean.
|
|
|
|
// Use prototype bean definition, to avoid registering bean as dependent bean.
|
|
|
|
RootBeanDefinition bd = new RootBeanDefinition(beanClass); |
|
|
|
RootBeanDefinition bd = new RootBeanDefinition(beanClass); |
|
|
|
bd.setScope(SCOPE_PROTOTYPE); |
|
|
|
bd.setScope(SCOPE_PROTOTYPE); |
|
|
|
bd.allowCaching = false; |
|
|
|
bd.allowCaching = ClassUtils.isCacheSafe(beanClass, getBeanClassLoader()); |
|
|
|
return (T) createBean(beanClass.getName(), bd, null); |
|
|
|
return (T) createBean(beanClass.getName(), bd, null); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@ -295,7 +295,7 @@ public abstract class AbstractAutowireCapableBeanFactory extends AbstractBeanFac |
|
|
|
// Use non-singleton bean definition, to avoid registering bean as dependent bean.
|
|
|
|
// Use non-singleton bean definition, to avoid registering bean as dependent bean.
|
|
|
|
RootBeanDefinition bd = new RootBeanDefinition(ClassUtils.getUserClass(existingBean)); |
|
|
|
RootBeanDefinition bd = new RootBeanDefinition(ClassUtils.getUserClass(existingBean)); |
|
|
|
bd.setScope(BeanDefinition.SCOPE_PROTOTYPE); |
|
|
|
bd.setScope(BeanDefinition.SCOPE_PROTOTYPE); |
|
|
|
bd.allowCaching = false; |
|
|
|
bd.allowCaching = ClassUtils.isCacheSafe(bd.getBeanClass(), getBeanClassLoader()); |
|
|
|
BeanWrapper bw = new BeanWrapperImpl(existingBean); |
|
|
|
BeanWrapper bw = new BeanWrapperImpl(existingBean); |
|
|
|
initBeanWrapper(bw); |
|
|
|
initBeanWrapper(bw); |
|
|
|
populateBean(bd.getBeanClass().getName(), bd, bw); |
|
|
|
populateBean(bd.getBeanClass().getName(), bd, bw); |
|
|
|
@ -315,7 +315,7 @@ public abstract class AbstractAutowireCapableBeanFactory extends AbstractBeanFac |
|
|
|
bd = new RootBeanDefinition(mbd); |
|
|
|
bd = new RootBeanDefinition(mbd); |
|
|
|
} |
|
|
|
} |
|
|
|
bd.setScope(BeanDefinition.SCOPE_PROTOTYPE); |
|
|
|
bd.setScope(BeanDefinition.SCOPE_PROTOTYPE); |
|
|
|
bd.allowCaching = false; |
|
|
|
bd.allowCaching = ClassUtils.isCacheSafe(ClassUtils.getUserClass(existingBean), getBeanClassLoader()); |
|
|
|
} |
|
|
|
} |
|
|
|
BeanWrapper bw = new BeanWrapperImpl(existingBean); |
|
|
|
BeanWrapper bw = new BeanWrapperImpl(existingBean); |
|
|
|
initBeanWrapper(bw); |
|
|
|
initBeanWrapper(bw); |
|
|
|
|