spring-源码解析-文档说明和名词解释

xml和annotation:

市面上的spring源码解析,大多是以xml形式展开讨论的,而现在spring的版本早就已经支持了注解配置形式(去xml化)。xml配置和注解配置各有优劣,这个不是本文要讨论的话题,本spring-源码解析系列会以注解配置展开分析,对应的xml版本将会在后续版本中推出,敬请期待~

各种注解的定义说明

在源码解析过程中可能会添加各种注解,比如说@Configuration, @Bean等等,若有不清楚为何或不了解如何使用,可网上搜索,本文假设阅读时已经了解该注解的用途

BeanDefinition:

是spring容器中的bean的抽象。在java中,用java.lang.Class来描述对象,在spring中用BeanDefinition描述装入的bean。用spring容器来比作水桶的话,那么bean就是各式各样的水,在spring容器中用来描述“水”的信息即为BeanDefinition。实现BeanDefinition的类有很多,如注解形式的AnnotatedBeanDefinition,spring内部的RootBeanDefinition等

BeanFactory和FactoryBean:

  • beanFactory是生成bean的工厂,它是一个接口,其实现类可以生成需要的bean。
  • FactoryBean是spring容器中的一个bean,它是用来生成特定bean(比如说创建bean特别复杂繁琐)。当实现一个类实现FactoryBean时需要重写父接口getObject()方法。会在spring容器中会存在两个bean:getObject()返回的bean(用户想要的bean)和factoryBean本身(在获取bean时bean名称前加“&”)

你可能感兴趣的:(spring-源码解析-文档说明和名词解释)