java的框架的加载都是一个套路 包扫描,类加载,把被注解的注入进去ioc容器。所谓的ioc容器就是一个map,key是类,value是类的实例。基本上dao service controller都是单例的。扫描类中的field,给被@Autowierd注解的field赋值。

1. ApplicationContext是什么

ApplicationContext是 Spring上下文的核心接口,描述了Spring容器的所有基本功能,是Spring Context(Spring上下文)模块的核心设计。
想了解Spring的加载机制,则必须先明白Spring ApplicationContext(后简称Spring上下文)到底是什么、是怎么设计的、有哪些职能,以及与Spring BeanFactory的关系。

2.Spring ApplicationContext的加载及源码实现

AbstractApplicationContext是ApplicationContext实现类中的核心抽象模板类,其中的核心方法refresh就是由AbstractApplicationContext提供的。
XmlWebApplicationContext 只负责配置文件部分的加载;ApplicationContext 负责整个容器的加载;AbstractRefreshApplicationContext 负责创建 Bean 工厂;AbstractRefreshConfigApplicationContext、AbstractRefreshWebApplicationContext负责处理配置的加载及Web环境的准备;XmlApplicationContext负责XML文件的加载、读取和解析。