行业资讯
📅 2026/7/16 0:49:32
说说spring的启动过程
面试创建容器先实例化一个Spring容器像ClassPathXmlApplicationContext基于XML配置时常用或者AnnotationConfigApplicationContext基于注解配置时常用等这是管理Bean的核心。加载配置如果是基于XML配置会读取指定的XML配置文件解析里面的Bean定义信息像Bean的类名、依赖关系等要是基于注解配置就扫描指定包下带有相关注解如Component、Service等的类提取出Bean定义。注册Bean定义把解析或扫描得到的Bean定义信息都注册到容器里相当于告诉容器有哪些Bean要管理、怎么创建它们等。实例化Bean容器根据Bean定义去创建Bean实例会先创建那些没有依赖或者依赖都已满足的Bean按照依赖关系逐步创建其他Bean同时完成依赖注入让Bean之间能协同工作。初始化Bean调用Bean的初始化方法比如实现了InitializingBean接口的afterPropertiesSet方法或者配置了init-method属性对应的方法做一些额外的初始化工作之后整个Spring容器就启动完成可以对外提供服务了。