Example usage for org.springframework.beans.factory.config PropertyResourceConfigurer postProcessBeanFactory

List of usage examples for org.springframework.beans.factory.config PropertyResourceConfigurer postProcessBeanFactory

Introduction

In this page you can find the example usage for org.springframework.beans.factory.config PropertyResourceConfigurer postProcessBeanFactory.

Prototype

@Override
public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException 

Source Link

Document

#mergeProperties Merge , #convertProperties convert and #processProperties process properties against the given bean factory.

Usage

From source file:org.devefx.httpmapper.spring.mapper.MapperScannerConfigurer.java

/**
 * BeanDefinitionRegistries are called early in application startup, before
 * BeanFactoryPostProcessors. This means that PropertyResourceConfigurers will not have been
 * loaded and any property substitution of this class' properties will fail. To avoid this, find
 * any PropertyResourceConfigurers defined in the context and run them on this class' bean
 * definition. Then update the values.//  w ww . jav  a 2  s.  co  m
 */
private void processPropertyPlaceHolders() {
    Map<String, PropertyResourceConfigurer> prcs = applicationContext
            .getBeansOfType(PropertyResourceConfigurer.class);

    if (!prcs.isEmpty() && applicationContext instanceof GenericApplicationContext) {
        BeanDefinition mapperScannerBean = ((GenericApplicationContext) applicationContext).getBeanFactory()
                .getBeanDefinition(beanName);

        // PropertyResourceConfigurer does not expose any methods to explicitly perform
        // property placeholder substitution. Instead, create a BeanFactory that just
        // contains this mapper scanner and post process the factory.
        DefaultListableBeanFactory factory = new DefaultListableBeanFactory();
        factory.registerBeanDefinition(beanName, mapperScannerBean);

        for (PropertyResourceConfigurer prc : prcs.values()) {
            prc.postProcessBeanFactory(factory);
        }

        PropertyValues values = mapperScannerBean.getPropertyValues();

        this.basePackage = updatePropertyValue("basePackage", values);
        this.configBeanName = updatePropertyValue("configBeanName", values);
    }
}

From source file:org.mybatis.spring.mapper.MapperScannerConfigurer.java

private void processPropertyPlaceHolders() {
    Map<String, PropertyResourceConfigurer> prcs = applicationContext
            .getBeansOfType(PropertyResourceConfigurer.class);

    if (!prcs.isEmpty() && applicationContext instanceof ConfigurableApplicationContext) {
        BeanDefinition mapperScannerBean = ((ConfigurableApplicationContext) applicationContext)
                .getBeanFactory().getBeanDefinition(beanName);

        // PropertyResourceConfigurer does not expose any methods to explicitly perform
        // property placeholder substitution. Instead, create a BeanFactory that just
        // contains this mapper scanner and post process the factory.
        DefaultListableBeanFactory factory = new DefaultListableBeanFactory();
        factory.registerBeanDefinition(beanName, mapperScannerBean);

        for (PropertyResourceConfigurer prc : prcs.values()) {
            prc.postProcessBeanFactory(factory);
        }//  w  w  w  .  j a v a  2  s.c o m

        PropertyValues values = mapperScannerBean.getPropertyValues();

        this.basePackage = updatePropertyValue("basePackage", values);
        this.sqlSessionFactoryBeanName = updatePropertyValue("sqlSessionFactoryBeanName", values);
        this.sqlSessionTemplateBeanName = updatePropertyValue("sqlSessionTemplateBeanName", values);
    }
}

From source file:com.comstar.mars.env.EnvMapperScannerConfigurer.java

private void processPropertyPlaceHolders() {
    Map<String, PropertyResourceConfigurer> prcs = applicationContext
            .getBeansOfType(PropertyResourceConfigurer.class);

    if (!prcs.isEmpty() && applicationContext instanceof GenericApplicationContext) {
        BeanDefinition mapperScannerBean = ((GenericApplicationContext) applicationContext).getBeanFactory()
                .getBeanDefinition(beanName);

        // PropertyResourceConfigurer does not expose any methods to
        // explicitly perform
        // property placeholder substitution. Instead, create a BeanFactory
        // that just
        // contains this mapper scanner and post process the factory.
        DefaultListableBeanFactory factory = new DefaultListableBeanFactory();
        factory.registerBeanDefinition(beanName, mapperScannerBean);

        for (PropertyResourceConfigurer prc : prcs.values()) {
            prc.postProcessBeanFactory(factory);
        }/*from  w w  w  . j  a  v a 2s.  c o m*/

        PropertyValues values = mapperScannerBean.getPropertyValues();

        this.basePackage = updatePropertyValue("basePackage", values);
        this.sqlSessionFactoryBeanName = updatePropertyValue("sqlSessionFactoryBeanName", values);
        this.sqlSessionTemplateBeanName = updatePropertyValue("sqlSessionTemplateBeanName", values);
    }
}

From source file:net.okjsp.common.MapperScannerConfigurer.java

private void processPropertyPlaceHolders() {
    Map<String, PropertyResourceConfigurer> prcs = applicationContext
            .getBeansOfType(PropertyResourceConfigurer.class);

    if (!prcs.isEmpty() && applicationContext instanceof GenericApplicationContext) {
        BeanDefinition mapperScannerBean = ((GenericApplicationContext) applicationContext).getBeanFactory()
                .getBeanDefinition(beanName);

        // PropertyResourceConfigurer does not expose any methods to explicitly perform
        // property placeholder substitution. Instead, create a BeanFactory that just
        // contains this mapper scanner and post process the factory.
        DefaultListableBeanFactory factory = new DefaultListableBeanFactory();
        factory.registerBeanDefinition(beanName, mapperScannerBean);

        for (PropertyResourceConfigurer prc : prcs.values()) {
            prc.postProcessBeanFactory(factory);
        }/*from w  w w . j ava2  s.co m*/

        PropertyValues values = mapperScannerBean.getPropertyValues();

        this.basePackage = updatePropertyValue("basePackage", values);
        this.sqlSessionFactoryBeanName = updatePropertyValue("sqlSessionFactoryBeanName", values);
        this.sqlSessionTemplateBeanName = updatePropertyValue("sqlSessionTemplateBeanName", values);
    }
}