Spring - 4.2.3 // name,alias存储容器 ConcurrentHashMap <alias,name>private final Map<String, String> aliasMap = new ConcurrentHashMap<String, String>(16);// 注册alias别名public void registerAlias(String name, String alias)1. 检查 name,alias 是否含有内容…
// 用于内部标记的空的单例对象(不支持null)protected static final Object NULL_OBJECT = new Object(); // 缓存单例对象根据beanNameprivate final Map<String, Object> singletonObjects = new ConcurrentHashMap<String, Object>(256);// 早期缓存单例对象的Factory根据beanNameprivate final Ma…
AliasRegistry接口定义了alias的基本操作. package org.springframework.core; public interface AliasRegistry { //对指定的名称注册别名 void registerAlias(String name, String alias); //从当前容器移除指定别名 void removeAlias(String alias); //判断指定名称是否为别名 boolean isAlias(String beanName);…
上一篇介绍了BeanFactory体系的所有接口——Spring源码分析——BeanFactory体系之接口详细分析,本篇就接着介绍BeanFactory体系的抽象类和接口. 一.BeanFactory的基本类体系结构(类为主): 上图可与 Spring源码分析——BeanFactory体系之接口详细分析 的图结合分析,一个以接口为主,一个以类为主(PS:Spring的体系结构要分析清楚,不得不曲线救国啊!不然27寸屏幕给我画估计都装不下.). 具体: 1.7层的类体系继承. 2.Abstrac…
1.IOC是什么 IOC-Inversion of Control,即"控制反转",不是什么技术,而是一种设计思想.在Java开发中,Ioc意味着将你设计好的对象交给容器控制,而不是传统的在你的对象内部直接控制. DI-Dependency Injection,即"依赖注入":组件之间依赖关系由容器在运行期决定,形象的说,即由容器动态的将某个依赖关系注入到组件之中.依赖注入的目的并非为软件系统带来更多功能,而是为了提升组件重用的频率,并为系统搭建一个灵活.可扩展的平…
一.首先分析AliasRegistry接口. 1.Alias别名,Registry注册表,AliasRegistry别名注册表接口. 2.共有四个方法,注册别名,判断是否别名,获取别名数组,移除别名. 3.我自己试着写了一个这个接口的实现类: package com.lzh.spring.test; import java.util.ArrayList; import java.util.Hashtable; import java.util.Iterator; import java.util…
AliasRegistry //AliasRegistry package org.springframework.core; /** * Common interface for managing aliases. Serves as super-interface for * {@link org.springframework.beans.factory.support.BeanDefinitionRegistry}. * * @author Juergen Hoeller * @sinc…
BeanFactory的基本类体系结构(类为主):…
DefaultSingletonBeanRegistry 这是 DefaultSingletonBeanRegistry 类的体系结构,由一个类一个责任的原则: AliasRegistry : 提供别名注册的接口 SimpleAliasRegistry : 它简单地实现了AliasRegistry接口. SingletonBeanRegistry : 提供单例bean注册的接口 DefaultSingletonBeanRegistry :它继承SimpleAliasRegistry类和实现了Si…
主题 除了Spring 学习记录5 BeanFactory 里写的几个接口外,BeanFactory的实现类还实现了一些其他接口,这篇文章主要介绍这些接口和实现类. 结构 DefaultListableBeanFactory和它的父类们除了实现了BF的各种接口以外还实现了AliasRegistry和BeanDefinitionRegistry接口.而且不同等级的父类和BF的相关接口都有交集.. AliasRegistry 这个接口根据说明来看意思是提供别名注册的服务.虽然没有实际使用过别名,不过…