/** * Register a prototype bean with the underlying bean factory. * <p>For more advanced needs, register with the underlying BeanFactory directly. * @see #getDefaultListableBeanFactory */ public void registerPrototype(String name, Class<?> clazz) throws BeansException { GenericBeanDefinition bd = new GenericBeanDefinition(); bd.setScope(GenericBeanDefinition.SCOPE_PROTOTYPE); bd.setBeanClass(clazz); getDefaultListableBeanFactory().registerBeanDefinition(name, bd); }
/** * Register a prototype bean with the underlying bean factory. * <p>For more advanced needs, register with the underlying BeanFactory directly. * @see #getDefaultListableBeanFactory */ public void registerPrototype(String name, Class<?> clazz, MutablePropertyValues pvs) throws BeansException { GenericBeanDefinition bd = new GenericBeanDefinition(); bd.setScope(GenericBeanDefinition.SCOPE_PROTOTYPE); bd.setBeanClass(clazz); bd.setPropertyValues(pvs); getDefaultListableBeanFactory().registerBeanDefinition(name, bd); }
@Override @Nullable public final TargetSource getTargetSource(Class<?> beanClass, String beanName) { AbstractBeanFactoryBasedTargetSource targetSource = createBeanFactoryBasedTargetSource(beanClass, beanName); if (targetSource == null) { return null; } if (logger.isDebugEnabled()) { logger.debug("Configuring AbstractBeanFactoryBasedTargetSource: " + targetSource); } DefaultListableBeanFactory internalBeanFactory = getInternalBeanFactoryForBean(beanName); // We need to override just this bean definition, as it may reference other beans // and we're happy to take the parent's definition for those. // Always use prototype scope if demanded. BeanDefinition bd = this.beanFactory.getMergedBeanDefinition(beanName); GenericBeanDefinition bdCopy = new GenericBeanDefinition(bd); if (isPrototypeBased()) { bdCopy.setScope(BeanDefinition.SCOPE_PROTOTYPE); } internalBeanFactory.registerBeanDefinition(beanName, bdCopy); // Complete configuring the PrototypeTargetSource. targetSource.setTargetBeanName(beanName); targetSource.setBeanFactory(internalBeanFactory); return targetSource; }
/** * Register a prototype bean with the underlying bean factory. * <p>For more advanced needs, register with the underlying BeanFactory directly. * @see #getDefaultListableBeanFactory */ public void registerPrototype(String name, Class<?> clazz) throws BeansException { GenericBeanDefinition bd = new GenericBeanDefinition(); bd.setScope(GenericBeanDefinition.SCOPE_PROTOTYPE); bd.setBeanClass(clazz); getDefaultListableBeanFactory().registerBeanDefinition(name, bd); }
/** * register aspectJ for disconf get request * * @param registry */ private void registerAspect(BeanDefinitionRegistry registry) { GenericBeanDefinition beanDefinition = new GenericBeanDefinition(); beanDefinition.setBeanClass(DisconfAspectJ.class); beanDefinition.setLazyInit(false); beanDefinition.setAbstract(false); beanDefinition.setAutowireCandidate(true); beanDefinition.setScope("singleton"); registry.registerBeanDefinition("disconfAspectJ", beanDefinition); }
/** * Register a prototype bean with the underlying bean factory. * <p>For more advanced needs, register with the underlying BeanFactory directly. * @see #getDefaultListableBeanFactory */ public void registerPrototype(String name, Class<?> clazz, MutablePropertyValues pvs) throws BeansException { GenericBeanDefinition bd = new GenericBeanDefinition(); bd.setScope(GenericBeanDefinition.SCOPE_PROTOTYPE); bd.setBeanClass(clazz); bd.setPropertyValues(pvs); getDefaultListableBeanFactory().registerBeanDefinition(name, bd); }
private WebApplicationContext initApplicationContext(String scope) { MockServletContext sc = new MockServletContext(); GenericWebApplicationContext ac = new GenericWebApplicationContext(sc); GenericBeanDefinition bd = new GenericBeanDefinition(); bd.setBeanClass(DerivedTestBean.class); bd.setScope(scope); ac.registerBeanDefinition(NAME, bd); ac.refresh(); return ac; }
bd1.setScope("myScope"); bd1.getConstructorArgumentValues().addGenericArgumentValue("XXX#{tb0.name}YYY#{mySpecialAttr}ZZZ"); bd1.getConstructorArgumentValues().addGenericArgumentValue("#{mySpecialAttr}"); bd2.setScope("myScope"); bd2.getPropertyValues().add("name", "{ XXX#{tb0.name}YYY#{mySpecialAttr}ZZZ }"); bd2.getPropertyValues().add("age", "#{mySpecialAttr}"); bd3.setScope("myScope"); ac.registerBeanDefinition("tb3", bd3); bd4.setScope("myScope"); ac.registerBeanDefinition("tb4", bd4); bd5.setScope("myScope"); ac.registerBeanDefinition("tb5", bd5); bd6.setScope("myScope"); ac.registerBeanDefinition("tb6", bd6);
/** * Forces the registration of instances of {@link TransformerResolver} and {@link Converter} to be created, so that * {@link PostRegistrationActionsPostProcessor} can work its magic and add them to the transformation graph */ protected static void postProcessBeanDefinition(SpringComponentModel resolvedComponent, BeanDefinitionRegistry registry, String beanName) { if (Converter.class.isAssignableFrom(resolvedComponent.getType())) { GenericBeanDefinition converterBeanDefinitionCopy = new GenericBeanDefinition(resolvedComponent.getBeanDefinition()); converterBeanDefinitionCopy.setScope(SPRING_SINGLETON_OBJECT); registry.registerBeanDefinition(beanName + "-" + "converter", converterBeanDefinitionCopy); } }
BeanDefinitionRegistry registry = ((BeanDefinitionRegistry )factory); GenericBeanDefinition beanDefinition = new GenericBeanDefinition(); beanDefinition.setBeanClass(MyBeanClass.class); beanDefinition.setLazyInit(false); beanDefinition.setAbstract(false); beanDefinition.setAutowireCandidate(true); beanDefinition.setScope("session"); registry.registerBeanDefinition("dynamicBean",beanDefinition);
/** * Forces the registration of instances of {@link TransformerResolver} and {@link Converter} to be created, so that * {@link PostRegistrationActionsPostProcessor} can work its magic and add them to the transformation graph */ protected static void postProcessBeanDefinition(SpringComponentModel resolvedComponent, BeanDefinitionRegistry registry, String beanName) { if (Converter.class.isAssignableFrom(resolvedComponent.getType())) { GenericBeanDefinition converterBeanDefinitionCopy = new GenericBeanDefinition(resolvedComponent.getBeanDefinition()); converterBeanDefinitionCopy.setScope(SPRING_SINGLETON_OBJECT); registry.registerBeanDefinition(beanName + "-" + "converter", converterBeanDefinitionCopy); } }
private BeanDefinition createBeanDefinition(Bean<?> bean) { GenericBeanDefinition beanDefinition = new GenericBeanDefinition(); beanDefinition.setBeanClass(bean.getBeanClass()); beanDefinition.setScope(CDIScope.class.getName()); beanDefinition.setLazyInit(true); return beanDefinition; }
protected BeanDefinition getServerBeanDefinition(){ GenericBeanDefinition result = new GenericBeanDefinition(); result.setAutowireCandidate(true); result.setScope(BeanDefinition.SCOPE_SINGLETON); result.setBeanClass(this.getClass()); result.setAttribute("id", MODULE_CONSTRUCTOR_PARAM2_CLASS); result.setAttribute("name", MODULE_CONSTRUCTOR_PARAM2_CLASS); return result; }
BeanDefinitionRegistry registry = ((BeanDefinitionRegistry )factory); GenericBeanDefinition beanDefinition = new GenericBeanDefinition(); beanDefinition.setBeanClass(MyBeanClass.class); beanDefinition.setLazyInit(false); beanDefinition.setAbstract(false); beanDefinition.setAutowireCandidate(true); beanDefinition.setScope("session"); registry.registerBeanDefinition("dynamicBean",beanDefinition);
protected BeanDefinition getServerBeanDefinition(){ GenericBeanDefinition result = new GenericBeanDefinition(); result.setAutowireCandidate(true); result.setScope(BeanDefinition.SCOPE_SINGLETON); result.setBeanClass(this.getClass()); result.setAttribute("id", MODULE_CONSTRUCTOR_PARAM2_CLASS); result.setAttribute("name", MODULE_CONSTRUCTOR_PARAM2_CLASS); return result; }
@Override protected AbstractBeanDefinition parseInternal(Element element, ParserContext parserContext) { GenericBeanDefinition beanDefinition = new GenericBeanDefinition(); beanDefinition.setBeanClass(SingletonBeanImportFactoryBean.class); beanDefinition.setPropertyValues(createPropertyValues(element)); beanDefinition.setScope(ConfigurableBeanFactory.SCOPE_SINGLETON); return beanDefinition; }