ConfigurationClassParser.java 文件源码

java
阅读 26 收藏 0 点赞 0 评论 0

项目:class-guard 作者:
/**
 * Invoke {@link EnvironmentAware}, {@link ResourceLoaderAware}, {@link BeanClassLoaderAware}
 * and {@link BeanFactoryAware} contracts if implemented by the given {@code registrar}.
 */
private void invokeAwareMethods(ImportBeanDefinitionRegistrar registrar) {
    if (registrar instanceof Aware) {
        if (registrar instanceof EnvironmentAware) {
            ((EnvironmentAware) registrar).setEnvironment(this.environment);
        }
        if (registrar instanceof ResourceLoaderAware) {
            ((ResourceLoaderAware) registrar).setResourceLoader(this.resourceLoader);
        }
        if (registrar instanceof BeanClassLoaderAware) {
            ClassLoader classLoader = (this.registry instanceof ConfigurableBeanFactory ?
                    ((ConfigurableBeanFactory) this.registry).getBeanClassLoader() :
                    this.resourceLoader.getClassLoader());
            ((BeanClassLoaderAware) registrar).setBeanClassLoader(classLoader);
        }
        if (registrar instanceof BeanFactoryAware && this.registry instanceof BeanFactory) {
            ((BeanFactoryAware) registrar).setBeanFactory((BeanFactory) this.registry);
        }
    }
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号