zoukankan      html  css  js  c++  java
  • spring framework源码之AnnotationConfigApplicationContext

    AnnotationConfigApplicationContext

      内部使用了AnnotatedBeanDefinitionReader;ClassPathBeanDefinitionScanner

    /**
         使用AnnotatedBeanDefinitionReader读取配置类*/
        public void register(Class<?>... annotatedClasses) {
            Assert.notEmpty(annotatedClasses, "At least one annotated class must be specified");
            this.reader.register(annotatedClasses);
        }
    
        /**
         使用ClassPathBeanDefinitionScanner扫描指定包*/
        public void scan(String... basePackages) {
            Assert.notEmpty(basePackages, "At least one base package must be specified");
            this.scanner.scan(basePackages);
        }
    
        /**
        使用AnnotatedBeanDefinitionReader注册一个bean,使用指定的构造函数。*/
        public <T> void registerBean(Class<T> annotatedClass, Object... constructorArguments) {
            registerBean(null, annotatedClass, constructorArguments);
        }
        public <T> void registerBean(@Nullable String beanName, Class<T> annotatedClass, Object... constructorArguments) {
            this.reader.doRegisterBean(annotatedClass, null, beanName, null,
                    bd -> {
                        for (Object arg : constructorArguments) {
                            bd.getConstructorArgumentValues().addGenericArgumentValue(arg);
                        }
                    });
        }
        @Override
        public <T> void registerBean(@Nullable String beanName, Class<T> beanClass, @Nullable Supplier<T> supplier,
                BeanDefinitionCustomizer... customizers) {
            this.reader.doRegisterBean(beanClass, supplier, beanName, null, customizers);
        }

     AnnotatedBeanDefinitionReader

  • 相关阅读:
    About HDFS blocks
    Hadoop源代码分析(一)
    Hadoop源代码分析(三)
    MapReduce基础
    Pig安装与配置教程
    MapReduce数据流(三)
    MapReduce数据流(二)
    c++中的临时对象
    如何修改CMD命令行窗口下的默认路径
    VC2005: warning LNK4076: 无效的增量状态文件
  • 原文地址:https://www.cnblogs.com/zhangwanhua/p/7942634.html
Copyright © 2011-2022 走看看