Spring源码系列文章
Spring源码解析(二):bean容器的创建、默认后置处理器、扫描包路径bean
Spring源码解析(六):bean工厂后置处理器ConfigurationClassPostProcessor
Spring源码解析(七):bean后置处理器AutowiredAnnotationBeanPostProcessor
Spring源码解析(八):bean后置处理器CommonAnnotationBeanPostProcessor
Spring源码解析(九):AOP源码之@Aspect所有相关注解解析
Spring源码解析(十):spring整合mybatis源码
Spring源码解析(十二):TransactionInterceptor事务拦截器
一、Spring源码基础组件
- 阅读源码时候,接口与类过多,可以对照这里查看对应的关系
1、bean定义接口体系
2、bean工厂接口体系
3、ApplicationContext上下文体系
二、测试环境准备
spring5.3.x源码路径下载:
https://gitee.com/xuchang614/spring-framework.git
gradle对应版本为7.5.1:
https://services.gradle.org/distributions/gradle-7.5.1-bin.zip
配置类:
@ComponentScan("com.xc")
@Configuration
public class Config {
@Bean()
public Book book(){
return new Book();
}
}
启动类:
public class Client {
public static void main(String[] args) {
//创建注解容器,入参为配置类
AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(Config.class);
//获取某个bean
Book book = context.getBean(Book.class);
System.out.println(book);
//关闭容器
context.close();
}
}
源码目录展示及案例demo: