List of usage examples for org.springframework.beans.factory.support RootBeanDefinition RootBeanDefinition
RootBeanDefinition(BeanDefinition original)
From source file:sample.RegisterBeanUtil.java
/** * We only want to create {@link MyDynamicallyRegisteredClass} if we detect * a bean of a particular name exists. More generally Spring Security will * need to create bean definitions based upon the completely populated * {@link BeanDefinitionRegistry}./*from ww w . j ava 2 s . c o m*/ * * @param beanName * @param registry * @throws BeansException */ static void registerCustom(String beanName, BeanDefinitionRegistry registry) throws BeansException { boolean beanExists = registry.containsBeanDefinition(beanName); if (beanExists) { String beanClass = MyDynamicallyRegisteredClass.class.getName(); registry.registerBeanDefinition(RegisterBeanUtil.class.getName() + "." + beanName, new RootBeanDefinition(beanClass)); } }
From source file:Main.java
/** * Register a {@link ScriptFactoryPostProcessor} bean definition in the supplied * {@link BeanDefinitionRegistry} if the {@link ScriptFactoryPostProcessor} hasn't * already been registered.//ww w . j a v a 2s .c om * @param registry the {@link BeanDefinitionRegistry} to register the script processor with * @return the {@link ScriptFactoryPostProcessor} bean definition (new or already registered) */ public static BeanDefinition registerScriptFactoryPostProcessorIfNecessary(BeanDefinitionRegistry registry) { BeanDefinition beanDefinition = null; if (registry.containsBeanDefinition(SCRIPT_FACTORY_POST_PROCESSOR_BEAN_NAME)) { beanDefinition = registry.getBeanDefinition(SCRIPT_FACTORY_POST_PROCESSOR_BEAN_NAME); } else { beanDefinition = new RootBeanDefinition(ScriptFactoryPostProcessor.class); registry.registerBeanDefinition(SCRIPT_FACTORY_POST_PROCESSOR_BEAN_NAME, beanDefinition); } return beanDefinition; }
From source file:org.xmatthew.spy2servers.config.AnnotationDrivenParser.java
private void createComponentPostProcessor(ParserContext parserContext) { BeanDefinition bd = new RootBeanDefinition(ComponentPostProcessor.class); // bd.getConstructorArgumentValues().addGenericArgumentValue( // new RuntimeBeanReference(MessageBusParser.MESSAGE_BUS_BEAN_NAME)); BeanComponentDefinition bcd = new BeanComponentDefinition(bd, "simplebean"); parserContext.registerBeanComponent(bcd); }
From source file:org.jdal.aop.SerializableProxyUtils.java
public static BeanDefinitionHolder createSerializableProxy(BeanDefinitionHolder definition, BeanDefinitionRegistry registry, boolean proxyTargetClass) { String originalBeanName = definition.getBeanName(); BeanDefinition targetDefinition = definition.getBeanDefinition(); // Create a scoped proxy definition for the original bean name, // "hiding" the target bean in an internal target definition. RootBeanDefinition proxyDefinition = new RootBeanDefinition(SerializableProxyFactoryBean.class); proxyDefinition.setOriginatingBeanDefinition(definition.getBeanDefinition()); proxyDefinition.setSource(definition.getSource()); proxyDefinition.setRole(BeanDefinition.ROLE_INFRASTRUCTURE); String targetBeanName = getTargetBeanName(originalBeanName); proxyDefinition.getPropertyValues().add("targetBeanName", targetBeanName); if (proxyTargetClass) { targetDefinition.setAttribute(AutoProxyUtils.PRESERVE_TARGET_CLASS_ATTRIBUTE, Boolean.TRUE); } else {// w w w . j a v a 2s. c om proxyDefinition.getPropertyValues().add("proxyTargetClass", Boolean.FALSE); } // Copy autowire settings from original bean definition. proxyDefinition.setAutowireCandidate(targetDefinition.isAutowireCandidate()); proxyDefinition.setPrimary(targetDefinition.isPrimary()); if (targetDefinition instanceof AbstractBeanDefinition) { proxyDefinition.copyQualifiersFrom((AbstractBeanDefinition) targetDefinition); } // Set singleton property of FactoryBean proxyDefinition.getPropertyValues().add("singleton", !targetDefinition.isPrototype()); // The target bean should be ignored in favor of the scoped proxy. targetDefinition.setAutowireCandidate(false); targetDefinition.setPrimary(false); // Register the target bean as separate bean in the factory. registry.registerBeanDefinition(targetBeanName, targetDefinition); // Return the scoped proxy definition as primary bean definition // (potentially an inner bean). return new BeanDefinitionHolder(proxyDefinition, originalBeanName, definition.getAliases()); }
From source file:com.google.inject.spring.SpringIntegrationTest.java
public void testBindFromSpring() throws CreationException { final DefaultListableBeanFactory beanFactory = new DefaultListableBeanFactory(); RootBeanDefinition singleton = new RootBeanDefinition(Singleton.class); beanFactory.registerBeanDefinition("singleton", singleton); RootBeanDefinition prototype = new RootBeanDefinition(Prototype.class, false); beanFactory.registerBeanDefinition("prototype", prototype); Injector injector = Guice.createInjector(new AbstractModule() { protected void configure() { bind(BeanFactory.class).toInstance(beanFactory); bind(Singleton.class).toProvider(fromSpring(Singleton.class, "singleton")); bind(Prototype.class).toProvider(fromSpring(Prototype.class, "prototype")); }/*from w w w . ja v a 2 s .c o m*/ }); assertNotNull(injector.getInstance(Singleton.class)); assertSame(injector.getInstance(Singleton.class), injector.getInstance(Singleton.class)); assertNotNull(injector.getInstance(Prototype.class)); assertNotSame(injector.getInstance(Prototype.class), injector.getInstance(Prototype.class)); }
From source file:org.daniels.samples.SpringIntegrationTest.java
public void testBindFromSpring() throws CreationException { final DefaultListableBeanFactory beanFactory = new DefaultListableBeanFactory(); RootBeanDefinition singleton = new RootBeanDefinition(Singleton.class); beanFactory.registerBeanDefinition("singleton", singleton); Injector injector = Guice.createInjector(new AbstractModule() { protected void configure() { bind(BeanFactory.class).toInstance(beanFactory); bind(Singleton.class).toProvider(fromSpring(Singleton.class, "singleton")); }/*from ww w . jav a 2 s. c om*/ }); assertNotNull(injector.getInstance(Singleton.class)); assertSame(injector.getInstance(Singleton.class), injector.getInstance(Singleton.class)); }
From source file:net.sourceforge.vulcan.spring.AppCtxTest.java
@Override public void setUp() { BeanDefinition bd = new RootBeanDefinition(Listener.class); ac.registerBeanDefinition("listener", bd); ac.refresh();/*from ww w. ja v a2 s. c om*/ received = null; }
From source file:org.hummer.spring.ServicePaser.java
public BeanDefinition parse(Element ele, ParserContext context) { //?/*from w w w. ja v a 2 s . c om*/ service = ele.getAttribute(ATTR_SERVICE); version = ele.getAttribute(ATTR_VERSION); ref = ele.getAttribute(ATTR_REF); RootBeanDefinition root = new RootBeanDefinition(ServiceBean.class); root.setLazyInit(false); root.getPropertyValues().add("service", service); root.getPropertyValues().add("version", version); root.getPropertyValues().add("ref", new RuntimeBeanReference(ref)); context.getRegistry() .registerBeanDefinition(beanNameGenerator.generateBeanName(root, context.getRegistry()), root); return null; }
From source file:org.hummer.spring.ReferenceParser.java
public BeanDefinition parse(Element ele, ParserContext context) { //?// w w w . j ava 2 s . co m service = ele.getAttribute(ATTR_SERVICE); version = ele.getAttribute(ATTR_VERSION); if (service == null || version == null) { throw new RuntimeException("?!"); } timeout = ele.getAttribute(ATTR_TIMEOUT) == null ? 3000 : Integer.parseInt(ele.getAttribute(ATTR_TIMEOUT)); unit = ele.getAttribute(ATTR_UNIT) == null ? false : Boolean.parseBoolean(ele.getAttribute(ATTR_UNIT)); retry = ele.getAttribute(ATTR_RETRY) == null ? 3 : Integer.parseInt(ele.getAttribute(ATTR_RETRY)); RootBeanDefinition root = new RootBeanDefinition(ReferenceBean.class); root.getPropertyValues().add("service", service); root.getPropertyValues().add("version", version); root.getPropertyValues().add("timeout", timeout); root.getPropertyValues().add("unit", unit); root.getPropertyValues().add("retry", retry); context.getRegistry().registerBeanDefinition(ele.getAttribute("id"), root); return root; }
From source file:org.springmodules.cache.config.CacheProxyFactoryBeanParserTests.java
public void testParseCacheSetupStrategy() { Element proxyElement = proxyElementBuilder.toXml(); RootBeanDefinition beanDefinition = new RootBeanDefinition(String.class); BeanDefinitionHolder holder = new BeanDefinitionHolder(beanDefinition, "beanName"); beanReferenceParser.parse(proxyElement, parserContext); beanReferenceParserControl.setReturnValue(holder); beanReferenceParserControl.replay(); // method to test. parser.parseCacheSetupStrategy(proxyElement, parserContext, propertySource); BeanDefinition proxyDefinition = registry.getBeanDefinition(proxyElementBuilder.id); // verify property "target" is correct. PropertyValue target = proxyDefinition.getPropertyValues().getPropertyValue("target"); assertEquals(holder, target.getValue()); assertCacheProxyFactoryBeanDefinitionIsCorrect(proxyDefinition); beanReferenceParserControl.verify(); }