Example usage for org.springframework.beans.factory.support BeanDefinitionRegistry registerBeanDefinition

List of usage examples for org.springframework.beans.factory.support BeanDefinitionRegistry registerBeanDefinition

Introduction

In this page you can find the example usage for org.springframework.beans.factory.support BeanDefinitionRegistry registerBeanDefinition.

Prototype

void registerBeanDefinition(String beanName, BeanDefinition beanDefinition) throws BeanDefinitionStoreException;

Source Link

Document

Register a new bean definition with this registry.

Usage

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}.//  w w  w  .  ja  v  a2 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:org.activiti.spring.components.aop.util.Scopifier.java

public static BeanDefinitionHolder createScopedProxy(String beanName, BeanDefinition definition,
        BeanDefinitionRegistry registry, boolean proxyTargetClass) {
    BeanDefinitionHolder proxyHolder = ScopedProxyUtils
            .createScopedProxy(new BeanDefinitionHolder(definition, beanName), registry, proxyTargetClass);
    registry.registerBeanDefinition(beanName, proxyHolder.getBeanDefinition());
    return proxyHolder;
}

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./*from   w ww  .  j  a  v a2s . 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.springframework.hateoas.config.HypermediaSupportBeanDefinitionRegistrar.java

/**
 * Registers bean definitions for a {@link PluginRegistry} to capture
 * {@link RelProvider} instances. Wraps the registry into a
 * {@link DelegatingRelProvider} bean definition backed by the registry.
 * /*  www.ja  v  a 2  s  . c  om*/
 * @param registry
 */
private static void registerRelProviderPluginRegistryAndDelegate(BeanDefinitionRegistry registry) {

    Class<?> defaultRelProviderType = EVO_PRESENT ? EvoInflectorRelProvider.class : DefaultRelProvider.class;
    RootBeanDefinition defaultRelProviderBeanDefinition = new RootBeanDefinition(defaultRelProviderType);
    registry.registerBeanDefinition("defaultRelProvider", defaultRelProviderBeanDefinition);

    RootBeanDefinition annotationRelProviderBeanDefinition = new RootBeanDefinition(
            AnnotationRelProvider.class);
    registry.registerBeanDefinition("annotationRelProvider", annotationRelProviderBeanDefinition);

    BeanDefinitionBuilder registryFactoryBeanBuilder = BeanDefinitionBuilder
            .rootBeanDefinition(PluginRegistryFactoryBean.class);
    registryFactoryBeanBuilder.addPropertyValue("type", RelProvider.class);
    registryFactoryBeanBuilder.addPropertyValue("exclusions", DelegatingRelProvider.class);

    AbstractBeanDefinition registryBeanDefinition = registryFactoryBeanBuilder.getBeanDefinition();
    registry.registerBeanDefinition("relProviderPluginRegistry", registryBeanDefinition);

    BeanDefinitionBuilder delegateBuilder = BeanDefinitionBuilder
            .rootBeanDefinition(DelegatingRelProvider.class);
    delegateBuilder.addConstructorArgValue(registryBeanDefinition);

    AbstractBeanDefinition beanDefinition = delegateBuilder.getBeanDefinition();
    beanDefinition.setPrimary(true);
    registry.registerBeanDefinition(DELEGATING_REL_PROVIDER_BEAN_NAME, beanDefinition);
}

From source file:org.synyx.hades.dao.config.DaoConfigDefinitionParser.java

private static String registerWithSourceAndGeneratedBeanName(BeanDefinitionRegistry registry,
        AbstractBeanDefinition bean, Object source) {

    bean.setSource(source);/*www . j a va2 s.  c  o  m*/

    String beanName = generateBeanName(bean, registry);
    registry.registerBeanDefinition(beanName, bean);

    return beanName;
}

From source file:com.gzj.tulip.load.context.RoseWebAppContext.java

/** ?messageSourceRose? */
public static void registerMessageSourceIfNecessary(BeanDefinitionRegistry registry,
        String[] messageBaseNames) {
    if (!registry.containsBeanDefinition(MESSAGE_SOURCE_BEAN_NAME)) {
        GenericBeanDefinition messageSource = new GenericBeanDefinition();
        messageSource.setBeanClass(ReloadableResourceBundleMessageSource.class);
        MutablePropertyValues propertyValues = new MutablePropertyValues();
        propertyValues.addPropertyValue("useCodeAsDefaultMessage", true);
        propertyValues.addPropertyValue("defaultEncoding", "UTF-8"); // propertiesUTF-8?ISO-9959-1
        propertyValues.addPropertyValue("cacheSeconds", 60); // hardcode! seconds
        propertyValues.addPropertyValue("basenames", messageBaseNames);

        messageSource.setPropertyValues(propertyValues);
        registry.registerBeanDefinition(MESSAGE_SOURCE_BEAN_NAME, messageSource);
    }/*w  w  w .  j  av a2s .c o m*/
}

From source file:com.avanza.astrix.gs.GsBeanDefinitionRegistryPostProcessorPlugin.java

@Override
public void postProcess(BeanDefinitionRegistry registry) {
    registry.registerBeanDefinition("_astrixClusterInfoHolder",
            new AnnotatedGenericBeanDefinition(ClusterInfoHolder.class));
}

From source file:org.qi4j.library.spring.bootstrap.internal.service.Qi4jServiceBeanDefinitionParser.java

public final BeanDefinition parse(Element anElement, ParserContext aParserContext) {
    String serviceId = anElement.getAttribute(SERVICE_ID);

    // Service factory bean
    BeanDefinitionBuilder builder = rootBeanDefinition(ServiceFactoryBean.class);
    builder.addConstructorArgReference(BEAN_ID_QI4J_APPLICATION);
    builder.addConstructorArgValue(serviceId);
    AbstractBeanDefinition definition = builder.getBeanDefinition();

    // Register service factory bean
    BeanDefinitionRegistry definitionRegistry = aParserContext.getRegistry();
    definitionRegistry.registerBeanDefinition(serviceId, definition);

    return definition;
}

From source file:com.laxser.blitz.web.impl.module.ModuleAppContext.java

/** ?messageSourceRose? */
public static void registerMessageSourceIfNecessary(BeanDefinitionRegistry registry,
        String[] messageBaseNames) {
    if (!ArrayUtils.contains(registry.getBeanDefinitionNames(), MESSAGE_SOURCE_BEAN_NAME)) {
        logger.debug("registerMessageSource  " + ArrayUtils.toString(messageBaseNames));
        GenericBeanDefinition messageSource = new GenericBeanDefinition();
        messageSource.setBeanClass(ReloadableResourceBundleMessageSource.class);
        MutablePropertyValues propertyValues = new MutablePropertyValues();
        propertyValues.addPropertyValue("useCodeAsDefaultMessage", true);
        propertyValues.addPropertyValue("defaultEncoding", "UTF-8"); // propertiesUTF-8?ISO-9959-1
        propertyValues.addPropertyValue("cacheSeconds", 60); // hardcode! 60
        propertyValues.addPropertyValue("basenames", messageBaseNames);

        messageSource.setPropertyValues(propertyValues);
        registry.registerBeanDefinition(MESSAGE_SOURCE_BEAN_NAME, messageSource);
    }//from  w  w  w.ja  va  2s.com
}

From source file:org.qi4j.library.spring.bootstrap.internal.application.Qi4jBootstrapBeanDefinitionParser.java

private void registerBean(ParserContext aParserContext, BeanDefinition aBeanDefinition) {
    BeanDefinitionRegistry registry = aParserContext.getRegistry();
    registry.registerBeanDefinition(BEAN_ID_QI4J_APPLICATION, aBeanDefinition);
}