基于构造方法和set依赖注入来构造的。
spring启动时,会先创建一个spring容器,然后循环遍历扫描包下的类上有包含@Component注解的类,然后基于构造方法创建这个bean对象放入单例池中(默认单例模式)然后扫描bean对象中有@Autowired注解的对象,对其进行依赖注入,从单例池中找。单例池即一级缓存是一个map接口的实现类。
其中还有bean定义 bean工厂的流程。