List of usage examples for org.springframework.beans.factory.support GenericBeanDefinition setBeanClass
public void setBeanClass(@Nullable Class<?> beanClass)
From source file:com.googlecode.shutdownlistener.spring.ApplicationContextShutdownWrapper.java
public ApplicationContextShutdownWrapper(ApplicationContext applicationContext) { Assert.notNull(applicationContext, "ApplicationContext cannot be null"); this.applicationContext = applicationContext; if (!(applicationContext instanceof DisposableBean)) { throw new IllegalArgumentException("The provided BeanFactory must implement DisposableBean"); }/* w ww. j a va 2 s .c o m*/ this.disposableBean = (DisposableBean) this.applicationContext; ShutdownHandler shutdownHandler = null; try { shutdownHandler = this.applicationContext.getBean(ShutdownHandlerBean.class); } catch (NoSuchBeanDefinitionException e) { //Ignore } if (shutdownHandler != null) { this.shutdownHandler = shutdownHandler; this.shutdownBeanFactory = null; } else { this.shutdownBeanFactory = new GenericApplicationContext(this.applicationContext); final GenericBeanDefinition shutdownBeanDefinition = new GenericBeanDefinition(); shutdownBeanDefinition.setBeanClass(ShutdownHandlerBean.class); this.shutdownBeanFactory.registerBeanDefinition(ShutdownHandler.class.getName(), shutdownBeanDefinition); this.shutdownBeanFactory.refresh(); this.shutdownHandler = this.shutdownBeanFactory.getBean(ShutdownHandler.class); } }
From source file:pl.chilldev.web.spring.config.WebNamespaceHandler.java
/** * {@inheritDoc}//from w w w . ja va 2 s. c o m * @since 0.0.1 */ @Override public void init() { // create bean instance that will be subject for all other settings GenericBeanDefinition pageMetaModelFactoryBean = new GenericBeanDefinition(); pageMetaModelFactoryBean.setBeanClass(PageMetaModelFactoryBean.class); this.registerBeanDefinitionParser(WebNamespaceHandler.ELEMENT_HANDLEPAGEMODEL, new HandlePageModelBeanDefinitionParser(pageMetaModelFactoryBean)); this.registerBeanDefinitionParser(WebNamespaceHandler.ELEMENT_XMLNS, new XmlnsBeanDefinitionParser(pageMetaModelFactoryBean)); this.registerBeanDefinitionParser(WebNamespaceHandler.ELEMENT_TITLE, new TitleBeanDefinitionParser(pageMetaModelFactoryBean)); this.registerBeanDefinitionParser(WebNamespaceHandler.ELEMENT_METANAME, new MetaNameBeanDefinitionParser(pageMetaModelFactoryBean)); this.registerBeanDefinitionParser(WebNamespaceHandler.ELEMENT_METAHTTPEQUIV, new MetaHttpEquivBeanDefinitionParser(pageMetaModelFactoryBean)); this.registerBeanDefinitionParser(WebNamespaceHandler.ELEMENT_METAPROPERTY, new MetaPropertyBeanDefinitionParser(pageMetaModelFactoryBean)); this.registerBeanDefinitionParser(WebNamespaceHandler.ELEMENT_KEYWORDS, new MetaPropertyBeanDefinitionParser(pageMetaModelFactoryBean)); this.registerBeanDefinitionParser(WebNamespaceHandler.ELEMENT_SCRIPT, new ScriptBeanDefinitionParser(pageMetaModelFactoryBean)); this.registerBeanDefinitionParser(WebNamespaceHandler.ELEMENT_LINK, new LinkBeanDefinitionParser(pageMetaModelFactoryBean)); this.registerBeanDefinitionParser(WebNamespaceHandler.ELEMENT_STYLESHEET, new StylesheetBeanDefinitionParser(pageMetaModelFactoryBean)); }
From source file:com.haulmont.cuba.core.sys.SpringBeanLoader.java
public void updateContext(Collection<Class> classes) { if (beanFactory != null) { boolean needToRefreshRemotingContext = false; for (Class clazz : classes) { Service serviceAnnotation = (Service) clazz.getAnnotation(Service.class); ManagedBean managedBeanAnnotation = (ManagedBean) clazz.getAnnotation(ManagedBean.class); Component componentAnnotation = (Component) clazz.getAnnotation(Component.class); Controller controllerAnnotation = (Controller) clazz.getAnnotation(Controller.class); String beanName = null; if (serviceAnnotation != null) { beanName = serviceAnnotation.value(); } else if (managedBeanAnnotation != null) { beanName = managedBeanAnnotation.value(); } else if (componentAnnotation != null) { beanName = componentAnnotation.value(); } else if (controllerAnnotation != null) { beanName = controllerAnnotation.value(); }/*from ww w .j a v a 2 s .com*/ if (StringUtils.isNotBlank(beanName)) { GenericBeanDefinition beanDefinition = new GenericBeanDefinition(); beanDefinition.setBeanClass(clazz); Scope scope = (Scope) clazz.getAnnotation(Scope.class); if (scope != null) { beanDefinition.setScope(scope.value()); } beanFactory.registerBeanDefinition(beanName, beanDefinition); } if (StringUtils.isNotBlank(beanName)) { needToRefreshRemotingContext = true; } } if (needToRefreshRemotingContext) { ApplicationContext remotingContext = RemotingContextHolder.getRemotingApplicationContext(); if (remotingContext != null && remotingContext instanceof ConfigurableApplicationContext) { ((ConfigurableApplicationContext) remotingContext).refresh(); } } } }
From source file:com.github.steveash.spring.WiringFactoryBeanFactoryPostProcessor.java
private void addPrototypeDef(ConfigurableListableBeanFactory beanFactory, String beanDefName, Class<?> protoBeanClass) { String beanName = getPrototypeBeanNameFromBeanClass(protoBeanClass); if (beanFactory.containsBeanDefinition(beanName)) { throw new BeanDefinitionValidationException("Trying to register a bean definition for a synthetic " + "prototype bean with name " + beanName + " due to the bean factory of name " + beanDefName + " but a bean with this name already exists!"); }/*from w w w.j av a2 s .c o m*/ GenericBeanDefinition protoBean = new GenericBeanDefinition(); protoBean.setLazyInit(true); protoBean.setBeanClass(protoBeanClass); protoBean.setScope(BeanDefinition.SCOPE_PROTOTYPE); protoBean.setAutowireMode(AbstractBeanDefinition.AUTOWIRE_CONSTRUCTOR); protoBean.setBeanClassName(protoBeanClass.getName()); log.debug("Dynamically adding prototype bean {} from factory {}", beanName, beanDefName); BeanDefinitionRegistry registry = (BeanDefinitionRegistry) beanFactory; registry.registerBeanDefinition(beanName, protoBean); }
From source file:pl.chilldev.web.spring.config.HandlePageModelBeanDefinitionParser.java
/** * {@inheritDoc}//from www.j av a 2s . c o m * @since 0.0.1 */ @Override public BeanDefinition parse(Element element, ParserContext parserContext) { // page model bean prototype GenericBeanDefinition pageMetaModelBean = new GenericBeanDefinition(); pageMetaModelBean.setBeanClass(PageMetaModel.class); pageMetaModelBean.setScope(WebApplicationContext.SCOPE_REQUEST); pageMetaModelBean.setFactoryBeanName(PageMetaModelFactoryBean.class.getName()); pageMetaModelBean.setFactoryMethodName(HandlePageModelBeanDefinitionParser.METHOD_CREATEPAGEMETAMODEL); parserContext.getRegistry().registerBeanDefinition(PageMetaModel.class.getName(), pageMetaModelBean); parserContext.getRegistry().registerBeanDefinition(PageMetaModelFactoryBean.class.getName(), this.pageMetaModelFactoryBean); // XHTML switch needs to be handled with generator bean if (element.hasAttribute(HandlePageModelBeanDefinitionParser.ATTRIBUTE_XHTML)) { boolean xhtml = element.getAttribute(HandlePageModelBeanDefinitionParser.ATTRIBUTE_XHTML) .equals("true"); GenericBeanDefinition generatorBean = new GenericBeanDefinition(); generatorBean.setBeanClass(Generator.class); this.logger.info("Setting markup generator XHTML mode to {}.", xhtml); ConstructorArgumentValues arguments = generatorBean.getConstructorArgumentValues(); arguments.addGenericArgumentValue(xhtml); parserContext.getRegistry().registerBeanDefinition(Generator.class.getName(), generatorBean); arguments = pageMetaModelBean.getConstructorArgumentValues(); arguments.addGenericArgumentValue(new RuntimeBeanReference(Generator.class.getName())); } // register new resolving strategy PageMetaModelContextUtils.setPageMetaModelResolver(new SpringBeansJspPageMetaModelResolver()); pl.chilldev.web.faces.context.PageMetaModelContextUtils .setPageMetaModelResolver(new SpringBeansFacesPageMetaModelResolver()); return null; }
From source file:org.codehaus.griffon.runtime.spring.GriffonApplicationContext.java
/** * Register a singleton bean with the underlying bean factory. * <p>For more advanced needs, register with the underlying BeanFactory directly. * @see #getDefaultListableBeanFactory/* w w w. ja va 2s . c om*/ */ public void registerSingleton(String name, Class clazz) throws BeansException { GenericBeanDefinition bd = new GenericBeanDefinition(); bd.setBeanClass(clazz); getDefaultListableBeanFactory().registerBeanDefinition(name, bd); }
From source file:org.codehaus.griffon.runtime.spring.GriffonApplicationContext.java
/** * Register a singleton bean with the underlying bean factory. * <p>For more advanced needs, register with the underlying BeanFactory directly. * @see #getDefaultListableBeanFactory/*from ww w .j a v a 2s.c o m*/ */ public void registerSingleton(String name, Class clazz, MutablePropertyValues pvs) throws BeansException { GenericBeanDefinition bd = new GenericBeanDefinition(); bd.setBeanClass(clazz); bd.setPropertyValues(pvs); getDefaultListableBeanFactory().registerBeanDefinition(name, bd); }
From source file:org.wallride.autoconfigure.WebAdminComponentScanRegistrar.java
private void addWebAdminComponentScanBeanPostProcessor(BeanDefinitionRegistry registry, Set<String> packagesToScan) { GenericBeanDefinition beanDefinition = new GenericBeanDefinition(); beanDefinition.setBeanClass(WebAdminComponentScanBeanPostProcessor.class); beanDefinition.getConstructorArgumentValues().addGenericArgumentValue(toArray(packagesToScan)); beanDefinition.setRole(BeanDefinition.ROLE_INFRASTRUCTURE); // We don't need this one to be post processed otherwise it can cause a // cascade of bean instantiation that we would rather avoid. beanDefinition.setSynthetic(true);//from w w w . jav a 2 s .c om registry.registerBeanDefinition(BEAN_NAME, beanDefinition); }
From source file:org.wallride.autoconfigure.WebGuestComponentScanRegistrar.java
private void addWebGuestComponentScanBeanPostProcessor(BeanDefinitionRegistry registry, Set<String> packagesToScan) { GenericBeanDefinition beanDefinition = new GenericBeanDefinition(); beanDefinition.setBeanClass(WebGuestComponentScanBeanPostProcessor.class); beanDefinition.getConstructorArgumentValues().addGenericArgumentValue(toArray(packagesToScan)); beanDefinition.setRole(BeanDefinition.ROLE_INFRASTRUCTURE); // We don't need this one to be post processed otherwise it can cause a // cascade of bean instantiation that we would rather avoid. beanDefinition.setSynthetic(true);//from w w w. j a va 2s . c o m registry.registerBeanDefinition(BEAN_NAME, beanDefinition); }
From source file:com.khs.sherpa.spring.SpringManagedBeanFactory.java
public void loadManagedBean(String name, Class<?> type) { BeanDefinitionRegistry registry = ((BeanDefinitionRegistry) springApplicationContext .getAutowireCapableBeanFactory()); GenericBeanDefinition beanDefinition = new GenericBeanDefinition(); beanDefinition.setBeanClass(type); registry.registerBeanDefinition(name, beanDefinition); }