- 博客(17)
- 资源 (4)
- 收藏
- 关注
原创 Spring源码分析-IOC之TypeConverter
TypeConverter:定义类型转换方法的接口。通常(但不一定)与PropertyEditorRegistry接口一起实现 ,通常接口TypeConverter的实现是基于非线程安全的PropertyEditors类,因此也不是线程安全的,我们来看下具体的API:public interface TypeConverter { //将value转化为requiredType类型...
2019-03-29 21:32:15 225
原创 Spring源码分析-IOC之BeanDefinitionHolder
BeanDefinitionHolder顾名思义就是对BeanDefinition的持有,同时持有的包括BeanDefinition的名称和别名,BeanDefinition我们在前面的文章已经介绍过Spring源码分析-IOC之BeanDefinition,BeanDefinitionHolder同时实现了BeanMetadataElement,BeanMetadataElement我们在前面也...
2019-03-28 23:15:20 6038
原创 Spring源码分析-IOC之ListableBeanFactory
ListableBeanFactory继承BeanFactory,主要是根据各种条件获取bean的配置清单,下面我们看下具体的源代码:public interface ListableBeanFactory extends BeanFactory { //判断是否包含指定名称的BeanDefinition boolean containsBeanDefinition(String be...
2019-03-27 20:33:06 282
原创 Spring源码分析-IOC之ConfigurableBeanFactory
ConfigurableBeanFactory继承自HierarchicalBeanFactory,SingletonBeanRegistry,这两个接口我们在前面已经介绍过,大家可以看下具体的介绍,Spring源码分析-IOC之HierarchicalBeanFactory,Spring源码分析-IOC之SingletonBeanRegistry,ConfigurableBeanFactor...
2019-03-26 16:56:23 568
原创 Spring源码分析-IOC之FactoryBeanRegistrySupport
上一篇Spring源码分析-IOC之FactoryBean我们介绍了FactoryBean的使用,以及在ioc中的实现原理,其中实现原理中我们可以发现最终是调用的FactoryBeanRegistrySupport的getObjectFromFactoryBean和doGetObjectFromFactoryBean这个方法。 FactoryBeanRegistry...
2019-03-25 20:26:14 821
原创 Spring源码分析-IOC之FactoryBean
FactoryBean:spring中所有的bean都是由容器来管理的也就是BeanFactory,但是对FactoryBean而言可不是简单的bean,而是一个能产生或者修饰对象生成的工厂Bean,可以用转义字符"&"来得到FactoryBean本身,下面我们来看具体例子:新建一个类:package com.ck.bean;import java.io.Serializ...
2019-03-22 19:04:30 450
原创 Spring源码分析-IOC之BeanDefinitionRegistry
BeanDefinitionRegistry接口继承了AliasRegistry,在AliasRegistry的基础上,增加了对BeanDefinition的各种增删改查的操作,BeanDefinition的分析可以看上一篇介绍Spring源码分析-IOC之BeanDefinitionpublic interface BeanDefinitionRegistry extends AliasR...
2019-03-21 19:01:29 279
原创 Spring源码分析-IOC之BeanDefinition
BeanDefinition的作用是用于在spring容器初始化的时,将bean的参数转化为spring内部的BeanDefinition的结构:在spring中BeanDefinition的接口类关系如下:AttributeAccessor, BeanMetadataElement的作用和源码,在之前的文章中我已经分析过:Spring源码分析-IOC之AttributeAcce...
2019-03-20 17:24:39 1007
原创 Spring源码分析-IOC之BeanPostProcessor
BeanPostProcessor:主要用于我们想在spring容器完成bean实例化,配置以及其他初始化方法前后要添加自己的逻辑处理,则我们需要用到BeanPostProcessor的接口实现类,然后注册到ioc容器中:package com.ck.ioc;import org.springframework.beans.BeansException;import org.sprin...
2019-03-19 17:10:49 307
原创 Spring源码分析-IOC之BeanMetadataElement
BeanMetadataElement:用于传送配置源对象的超级接口.public interface BeanMetadataElement { //获取源对象,可能返回null Object getSource();}
2019-03-18 16:05:35 2242
原创 Spring源码分析-IOC之AttributeAccessor
AttributeAccessor定义用于附加和访问元数据的通用的接口,来自任意对象public interface AttributeAccessor { //设置属性的值 void setAttribute(String name, Object value); //获得指定属性名称的值,如果不存在返回null Object getAttribute(String name...
2019-03-15 16:55:34 1217
原创 Spring源码分析-IOC之HierarchicalBeanFactory
HierarchicalBeanFactory继承自BeanFactory,也就是在BeanFactory定义的功能基础上增加了对parentFactory的支持,这里只提供父容器的访问功能,至于父容器的设置在ConfigurableBeanFactory中设置,ConfigurableBeanFactory继承了HierarchicalBeanFactory,具体代码如下:/** * S...
2019-03-14 15:56:45 286
原创 Spring源码分析-IOC之DefaultSingletonBeanRegistry
上一篇主要讲接口SingletonBeanRegistry,本篇主要讲述DefaultSingletonBeanRegistry,DefaultSingletonBeanRegistry主要对接口SingletonBeanRegistry各函数的实现,具体代码如下:/**DefaultSingletonBeanRegistry 实现了SingletonBeanRegistry ,主要用来管理...
2019-03-13 17:42:54 417 1
原创 Spring源码分析-IOC之BeanFactory
BeanFactory提供的是最基本的IOC容器的功能,定义了IOC容器的最基本形式,并且提供了IOC容器所应该遵守的最基本的服务契约:public interface BeanFactory { //用户使用容器时,可以使用转义符"&"来得到FactoryBean本身,用来区分通过容器来获取FactoryBean //产生的对象和获取FactoryBean本身...
2019-03-12 18:00:15 161
原创 Spring源码分析-IOC之SingletonBeanRegistry
SingletonBeanRegistry:定义对单例的注册及获取public interface SingletonBeanRegistry { //把一个给定的已经存在对象注册为单例 void registerSingleton(String beanName, Object singletonObject); //获取指定名称的单例对象 Object getSingleto...
2019-03-11 16:49:48 196 1
原创 Spring源码分析-IOC之SimpleAliasRegistry
SimpleAliasRegistry主要使用map作为alias的缓存,并对接口AliasRegistry进行实现,具体代码如下:public class SimpleAliasRegistry implements AliasRegistry { //aliasMap 用来缓存alias,此处考虑并发情况用ConcurrentHashMap private final Map<...
2019-03-06 15:29:01 171
原创 Spring源码分析-IOC之AliasRegistry
AliasRegistry是spring用来管理别名的接口,主要有如下几个方法:public interface AliasRegistry { //为给定的bean的name注册一个别名 void registerAlias(String name, String alias); //删除指定的别名 void removeAlias(String ...
2019-03-05 17:58:22 192
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人