用SpringBoot构建的项目,它在启动时到底是怎样运行的?
一张图做说明:
SpringBoot项目在启动时,首先基于启动入口类上的注解描述,进行自动配置并扫描加载指定包及子包下的类,然后检查类上有没有指定的Spring注解(如@Controller,@Service,@Component),如果有的话将这些类交给Spring去管理,由BeanFactory实现类的实例去将有指定注解的类进行实例化,根据这些类对象的作用域存入到不同的作用域中,如果有指定生命周期的话,也会调用生命周期的方法。
相关文章: