List of usage examples for org.springframework.beans.factory.support RootBeanDefinition RootBeanDefinition
public RootBeanDefinition()
From source file:org.seasar.dao.spring.autoregister.AbstractBeanAutoRegister.java
protected void register(final String packageName, final String shortClassName) { final String className = ClassUtil.concatName(packageName, shortClassName); final Class targetClass = ClassUtil.forName(className); Class enhancedClass;//w ww. j a v a 2 s . co m final AspectWeaver weaver = new AspectWeaver(targetClass, null); final Method[] methods = targetClass.getMethods(); for (int i = 0; i < methods.length; ++i) { final Method method = methods[i]; if (isBridgeMethod(method)) { continue; } final List interceptorList = new ArrayList(); for (int j = 0; j < interceptorNames.length; j++) { final MethodInterceptor interceptor = (MethodInterceptor) getBeanFactory() .getBean(interceptorNames[j]); interceptorList.add(interceptor); } if (!isApplicableAspect(method)) { continue; } if (interceptorList.size() == 0) { weaver.setInterceptors(method, new MethodInterceptor[0]); } else { weaver.setInterceptors(method, (MethodInterceptor[]) interceptorList .toArray(new MethodInterceptor[interceptorList.size()])); } } enhancedClass = weaver.generateClass(); final BeanDefinitionParserDelegate delegate = new BeanDefinitionParserDelegate( new XmlReaderContext(null, null, null, null, null, null)); final int autowireMode = delegate.getAutowireMode(autowire); final RootBeanDefinition bd = new RootBeanDefinition(); bd.setBeanClass(enhancedClass); bd.setAutowireMode(autowireMode); bd.setScope(scope); String beanName; if (autoNaming != null) { beanName = autoNaming.defineName(packageName, shortClassName); } else { beanName = className; } getBeanFactory().registerBeanDefinition(beanName, bd); }
From source file:ru.anr.cmdline.base.BootstrapImpl.java
/** * Registration of beans.// w w w . j a va 2 s .c o m * * @param ctx * A spring context * @param clazz * A bean class * @param name * A name for bean */ protected void createAndRegisterBeanDefinition(ConfigurableApplicationContext ctx, Class<?> clazz, String name) { RootBeanDefinition rbd = new RootBeanDefinition(); rbd.setBeanClass(clazz); DefaultListableBeanFactory bf = (DefaultListableBeanFactory) ctx.getBeanFactory(); if (name == null) { bf.registerBeanDefinition(clazz.getSimpleName(), rbd); } else { bf.registerBeanDefinition(name, rbd); } }
From source file:org.zalando.spring.data.businesskey.jpa.config.JpaBusinessKeyRegistrar.java
/** * @param registry, the {@link BeanDefinitionRegistry} to be used to register the * {@link AnnotationBeanConfigurerAspect}. *//*from www. ja v a2 s .c o m*/ private void registerBeanConfigurerAspectIfNecessary(final BeanDefinitionRegistry registry) { if (registry.containsBeanDefinition(BEAN_CONFIGURER_ASPECT_CLASS_NAME)) { return; } if (!ClassUtils.isPresent(BEAN_CONFIGURER_ASPECT_CLASS_NAME, getClass().getClassLoader())) { throw new BeanDefinitionStoreException(BEAN_CONFIGURER_ASPECT_CLASS_NAME + " not found. \n" + "Could not configure Spring Data JPA auditing-feature because" + " spring-aspects.jar is not on the classpath!\n" + "If you want to use auditing please add spring-aspects.jar to the classpath."); } RootBeanDefinition def = new RootBeanDefinition(); def.setBeanClassName(BEAN_CONFIGURER_ASPECT_CLASS_NAME); def.setFactoryMethodName("aspectOf"); def.setRole(BeanDefinition.ROLE_INFRASTRUCTURE); registry.registerBeanDefinition(BEAN_CONFIGURER_ASPECT_BEAN_NAME, new BeanComponentDefinition(def, BEAN_CONFIGURER_ASPECT_BEAN_NAME).getBeanDefinition()); }
From source file:com.googlecode.ehcache.annotations.config.AnnotationDrivenEhCacheBeanDefinitionParser.java
private void registerAspect(Element element, ParserContext parserContext) { if (!parserContext.getRegistry().containsBeanDefinition(EHCACHE_CACHING_ASPECT_BEAN_NAME)) { final Object elementSource = parserContext.extractSource(element); final RuntimeBeanReference cacheAttributeSourceReference = this.setupCacheAttributeSource(element, parserContext, elementSource); RootBeanDefinition def = new RootBeanDefinition(); def.setBeanClassName(EHCACHE_CACHING_ASPECT_CLASS_NAME); def.setFactoryMethodName("aspectOf"); def.getPropertyValues().add("cacheAttributeSource", cacheAttributeSourceReference); //registerTransactionManager(element, def); parserContext.registerBeanComponent(new BeanComponentDefinition(def, EHCACHE_CACHING_ASPECT_BEAN_NAME)); }/*from w w w . j a va 2s. c o m*/ }
From source file:org.eclipse.gemini.blueprint.compendium.internal.cm.ManagedServiceFactoryFactoryBean.java
/** * @param templateDefinition The templateDefinition to set. *//*from ww w .j a va 2s . c om*/ public void setTemplateDefinition(BeanDefinition[] templateDefinition) { if (templateDefinition != null && templateDefinition.length > 0) { this.templateDefinition = new RootBeanDefinition(); this.templateDefinition.overrideFrom(templateDefinition[0]); } else { this.templateDefinition = null; } }
From source file:org.springframework.beans.factory.DefaultListableBeanFactoryTests.java
@Test public void testApplyBeanPropertyValuesWithIncompleteDefinition() { DefaultListableBeanFactory lbf = new DefaultListableBeanFactory(); MutablePropertyValues pvs = new MutablePropertyValues(); pvs.add("age", "99"); RootBeanDefinition bd = new RootBeanDefinition(); bd.setPropertyValues(pvs);// w w w . ja v a 2 s . c o m lbf.registerBeanDefinition("test", bd); TestBean tb = new TestBean(); assertEquals(0, tb.getAge()); lbf.applyBeanPropertyValues(tb, "test"); assertEquals(99, tb.getAge()); assertNull(tb.getBeanFactory()); assertNull(tb.getSpouse()); }
From source file:org.springframework.beans.factory.DefaultListableBeanFactoryTests.java
@Test public void testExplicitScopeInheritanceForChildBeanDefinitions() throws Exception { String theChildScope = "bonanza!"; RootBeanDefinition parent = new RootBeanDefinition(); parent.setScope(RootBeanDefinition.SCOPE_PROTOTYPE); AbstractBeanDefinition child = BeanDefinitionBuilder.childBeanDefinition("parent").getBeanDefinition(); child.setBeanClass(TestBean.class); child.setScope(theChildScope);/*from ww w.j a va2 s . c om*/ DefaultListableBeanFactory factory = new DefaultListableBeanFactory(); factory.registerBeanDefinition("parent", parent); factory.registerBeanDefinition("child", child); AbstractBeanDefinition def = (AbstractBeanDefinition) factory.getBeanDefinition("child"); assertEquals("Child 'scope' not overriding parent scope (it must).", theChildScope, def.getScope()); }
From source file:org.springframework.beans.factory.DefaultListableBeanFactoryTests.java
@Test public void testScopeInheritanceForChildBeanDefinitions() throws Exception { RootBeanDefinition parent = new RootBeanDefinition(); parent.setScope("bonanza!"); AbstractBeanDefinition child = new ChildBeanDefinition("parent"); child.setBeanClass(TestBean.class); DefaultListableBeanFactory factory = new DefaultListableBeanFactory(); factory.registerBeanDefinition("parent", parent); factory.registerBeanDefinition("child", child); BeanDefinition def = factory.getMergedBeanDefinition("child"); assertEquals("Child 'scope' not inherited", "bonanza!", def.getScope()); }
From source file:org.springframework.integration.config.DefaultConfiguringBeanFactoryPostProcessor.java
/** * Register a null channel in the given BeanDefinitionRegistry. The bean name is defined by the constant * {@link IntegrationContextUtils#NULL_CHANNEL_BEAN_NAME}. *//*from w w w .ja v a 2 s .c o m*/ private void registerNullChannel(BeanDefinitionRegistry registry) { if (registry.containsBeanDefinition(IntegrationContextUtils.NULL_CHANNEL_BEAN_NAME)) { BeanDefinition nullChannelDefinition = registry .getBeanDefinition(IntegrationContextUtils.NULL_CHANNEL_BEAN_NAME); if (NullChannel.class.getName().equals(nullChannelDefinition.getBeanClassName())) { return; } else { throw new IllegalStateException( "The bean name '" + IntegrationContextUtils.NULL_CHANNEL_BEAN_NAME + "' is reserved."); } } else { RootBeanDefinition nullChannelDef = new RootBeanDefinition(); nullChannelDef.setBeanClassName(IntegrationConfigUtils.BASE_PACKAGE + ".channel.NullChannel"); BeanDefinitionHolder nullChannelHolder = new BeanDefinitionHolder(nullChannelDef, IntegrationContextUtils.NULL_CHANNEL_BEAN_NAME); BeanDefinitionReaderUtils.registerBeanDefinition(nullChannelHolder, registry); } }
From source file:org.springframework.integration.config.xml.ChannelInitializer.java
public void afterPropertiesSet() throws Exception { Assert.notNull(this.beanFactory, "'beanFactory' must not be null"); if (!autoCreate) { return;/*from www . j ava2 s .c o m*/ } else { AutoCreateCandidatesCollector channelCandidatesCollector = beanFactory .getBean(AUTO_CREATE_CHANNEL_CANDIDATES_BEAN_NAME, AutoCreateCandidatesCollector.class); Assert.notNull(channelCandidatesCollector, "Failed to locate '" + ChannelInitializer.AUTO_CREATE_CHANNEL_CANDIDATES_BEAN_NAME); // at this point channelNames are all resolved with placeholders and SpEL Collection<String> channelNames = channelCandidatesCollector.getChannelNames(); if (channelNames != null) { for (String channelName : channelNames) { if (!beanFactory.containsBean(channelName)) { if (this.logger.isDebugEnabled()) { this.logger.debug("Auto-creating channel '" + channelName + "' as DirectChannel"); } RootBeanDefinition messageChannel = new RootBeanDefinition(); messageChannel.setBeanClass(DirectChannel.class); BeanDefinitionHolder messageChannelHolder = new BeanDefinitionHolder(messageChannel, channelName); BeanDefinitionReaderUtils.registerBeanDefinition(messageChannelHolder, (BeanDefinitionRegistry) this.beanFactory); } } } } }