zoukankan      html  css  js  c++  java
  • spring-BeanFactoryPostProcessor

    BeanFactoryPostProcessor 也是spring的一个扩展点,可以插手bean实例化的过程。
    示例:
    package com.test3;
    
    import org.springframework.context.annotation.ComponentScan;
    import org.springframework.context.annotation.Configuration;
    
    @Configuration
    @ComponentScan("com.test3")
    public class AppConfig {
    }
    package com.test3;
    
    import org.springframework.stereotype.Component;
    
    @Component
    public class Bean2 {
    }
    package com.test3;
    
    import org.springframework.beans.BeansException;
    import org.springframework.beans.factory.config.BeanDefinition;
    import org.springframework.beans.factory.config.BeanFactoryPostProcessor;
    import org.springframework.beans.factory.config.ConfigurableListableBeanFactory;
    import org.springframework.stereotype.Component;
    
    @Component
    public class MyBeanFactoryPostProcessor implements BeanFactoryPostProcessor {
        public void postProcessBeanFactory(ConfigurableListableBeanFactory configurableListableBeanFactory) throws BeansException {
          BeanDefinition beanDefinition =  configurableListableBeanFactory.getBeanDefinition("bean2");
           beanDefinition.setScope("prototype");
        }
    }
    package com.test3;
    
    import org.springframework.context.annotation.AnnotationConfigApplicationContext;
    
    public class MyTest {
    
        public static void main(String[] args) {
            AnnotationConfigApplicationContext context =
                    new AnnotationConfigApplicationContext(AppConfig.class);
            System.out.println(context.getBean(Bean2.class));
            System.out.println(context.getBean(Bean2.class));
        }
    }

    执行结果:

    com.test3.Bean2@80ec1f8
    com.test3.Bean2@1445d7f
  • 相关阅读:
    Pthread使用总结
    OpenCV同态滤波
    重复文件重新创建
    Consider using the `--user` option or check the permissions.
    错误:pip._vendor.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='files.pythonhosted.org', port=443): Read timed out.
    python tkinter模版
    tkinter页面卡死
    视频下载
    tkinter学习系列(三)之Label控件
    Entry小部件:
  • 原文地址:https://www.cnblogs.com/yintingting/p/6231910.html
Copyright © 2011-2022 走看看