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

  • 相关阅读:
    关于博客
    latex句首缩进空格
    javable 之Iterable
    javable之Comparable
    常量池与Integer和String的“==”
    静态多态与动态多态
    String和StringBuilder效率不同的原理
    equals和hashcode
    Eclipse里面使用checkstyle(Google style)
    矩阵链乘问题
  • 原文地址:https://www.cnblogs.com/zhangwanhua/p/7942634.html
Copyright © 2011-2022 走看看