--------------------------org.springframework.beans----------------------------
CachedIntrospectionResults:用于辅助BeanWrapperImpl类,为了提高自省效率而作的cache。CachedIntrospectionResults并没有使用Introspector自带的对自省结果的缓存功能,而是自己实现了基于弱引用的cache。
BeanUtils:提供了一系列工具:根据class创建实例、查找class中的函数、获取class的PropertyDescriptor、在两个实例之间拷贝属性。
BeanWrapperImpl:访问javabean的属性。 类图:
DirectFieldAccessor:访问实例的field。
PropertyAccessorFactory:创建BeanWrapperImpl和DirectFieldAccessor。
--------------------------org.springframework.beans.support----------------------------
ArgumentConvertingMethodInvoker:在查找匹配函数时做了扩展——如果MethodInvoker.findMatchingMethod()找不到,则typeConverter对函数参数进行转换,以此来找到相对匹配的函数。
PagedListHolder:包装一个list,然后对外提供和访问分页有关的方法。
PropertyComparator:根据bean的属性,对bean list或数组进行排序。
--------------------------org.springframework.beans.factory----------------------------
BeanFactory的初始化步骤和关闭步骤,参见BeanFactory代码的接口注释。
access子包:
SingletonBeanFactoryLocator用于加载多个分组的bean配置文件,且分别保证它们是单例的SingletonBeanFactoryLocator实例。默认加载classpath*:beanRefFactory.xml。其中useBeanFactory函数用于将bean配置文件中配置的BeanFactory类的bean,以BeanFactory形式返回。当引用计数为0时,即外部不再使用其中的beanFactory时,释放SingletonBeanFactoryLocator实例中的资源。
annotation子包:
定义了一些注解:Autowired、Configurable、Qualifier、Required、Value
实现了与注解相关的BeanPostProcessor:
AutowiredAnnotationBeanPostProcessor专门处理 bean的注解注入(包括在field上、method上、构造器、class上)
InitDestroyAnnotationBeanPostProcessor处理了bean的自定义init和destroy。
FactoryBean接口以及实现:
AbstractServiceLoaderBasedFactoryBean及其子类,主要是调用java.util.ServiceLoader来加载服务。还有其他FactoryBean,略去不讲。
此外AbstractFactoryBean还有其他子类:ListFactoryBean、MapFactoryBean、SetFactoryBean、ObjectFactoryCreatingFactoryBean(ObjectFactory,负责根据beanName从BeanFactory中getBean()获取实例)、ProviderCreatingFactoryBean(Provider,同ObjectFactory)、SortedResourcesFactoryBean(Resource[],根据locations加载资源并按url自然排序)。
AbstractBeanFactory还继承了FactoryBeanRegistrySupport。
--------------------------org.springframework.beans.factory.support--------------------------
BeanDefinition类图:
相关推荐
spring-beans-3.2.0.RELEASE-sources.jar spring-context-3.1.3.RELEASE-sources.jar spring-context-support-3.1.3.RELEASE-sources.jar spring-core-2.5.6-sources.jar spring-core-3.2.0.RELEASE-sources.jar ...
Spring最新所有Jar包、文档、源码,包括spring-aop-5.1.8.RELEASE、spring-aspects-5.1.8.RELEASE、spring-beans-5.1.8.RELEASE、spring-context-5.1.8.RELEASE、spring-context-indexer-5.1.8.RELEASE、spring-...
spring-beans-3.2.3.RELEASE-sources.jar;spring-context-3.2.3.RELEASE-sources.jar;spring-context-support-3.2.3.RELEASE-sources.jar;spring-core-3.2.3.RELEASE-sources.jar;spring-data-commons-1.5.1.RELEASE...
spring-core-4.0.0.RELEASE-sources.jar (spring 4.0.0源码source),加载到Eclipse里面进行源码查看。
spring-beans-4.2.4-RELEASE.jar,免费下载 spring-context-4.2.4-RELEASE.jar,免费下载 spring-core-4.2.4-RELEASE.jar,免费下载 spring-expression-4.2.4-RELEASE.jar,免费下载 spring-context-support-4.2.4-...
SSI实例(源码+数据库+部署说明),...spring-beans-3.2.1.RELEASE.jar spring-jdbc-3.2.1.RELEASE.jar spring-tx-3.2.1.RELEASE.jar struts2-core-2.2.1.jar struts2-spring-plugin-2.2.1.jar xwork-core-2.2.1.jar
spring-core-4.3.5.RELEASE-sources.jar (spring 4.3.5源码source),加载在Eclipse里面进行查看。
Spring Framework 4.3.12 已发布,该版本包含 17 项修复和一些特定的改进,为即将推出的 Spring Boot 1.5.8 打好基础。请注意,Spring Framework 4.x 需要 JDK 6 及以上版本
spring-beans-4.0.0.RELEASE.jar 所有应用都要用到的,它包含访问配置文件、创建和管理bean spring-context-4.0.0.RELEASE.jar Spring 核心提供了大量扩展 spring-core-4.0.0.RELEASE.jar Spring 框架基本的核心工具...
spring-beans-4.2.4-RELEASE.jar,免费下载 spring-context-4.2.4-RELEASE.jar,免费下载 spring-core-4.2.4-RELEASE.jar,免费下载 spring-expression-4.2.4-RELEASE.jar,免费下载 spring-context-support-4.2.4-...
spring-beans-4.2.4-RELEASE.jar,免费下载 spring-context-4.2.4-RELEASE.jar,免费下载 spring-core-4.2.4-RELEASE.jar,免费下载 spring-expression-4.2.4-RELEASE.jar,免费下载 spring-context-support-4.2.4-...
spring-beans-4.2.4-RELEASE.jar,免费下载 spring-context-4.2.4-RELEASE.jar,免费下载 spring-core-4.2.4-RELEASE.jar,免费下载 spring-expression-4.2.4-RELEASE.jar,免费下载 spring-context-support-4.2.4-...
spring-framework-4.1.0.RELEASE jar和源码下载,官网下载
官方原版源码spring-framework-5.0.11.RELEASE.zip
2018-02-08从git_hub上拉取的Spring源码打成的jar,构建Spring-beans5.0以上源码所缺失的两个jar包spring-cglib-repack-3.2.6.jar,spring-objenesis-repack-2.6.jar
spring-beans源码,可以直接导入Eclipse工程里面
spring4.3.20版本资源包:spring-aop-4.3.20.RELEASE,spring-aop-4.3.20.RELEASE,spring-beans-4.3.20.RELEASE。。。
spring5.0.4.RELEASE版jar包【整合版,包含所有的主要jar包】-正式版下载 包含了spring所需要的所有主要jar包、源码和代码api文档 spring-framework-5.0.4.RELEASE-dist.zip
spring-beans-4.2.4-RELEASE.jar,免费下载 spring-context-4.2.4-RELEASE.jar,免费下载 spring-core-4.2.4-RELEASE.jar,免费下载 spring-expression-4.2.4-RELEASE.jar,免费下载 spring-context-support-4.2.4-...
从github上拉取的Spring源码打成的jar,构建Spring-beans5.0以上源码所缺失的两个jar包spring-cglib-repack-3.2.6.jar,spring-objenesis-repack-2.6.jar