spring Boot启动流程
首先我们的Spring boot启动类会new一个SpringApplication将我们的启动类放入primarySources,这样IOC就可以顺利的找到并加载IOC容器
第二步推算我们的web应用类型
第二步获取我们的全局配置yml文件里的配置,我们在第一次启动spring boot应用时就将这些全局配置YML放入了我们的cache缓存,这样就不用每次都扫描一次
具体步骤如下图
第三步扫描ApplicationListener监听器类,发布事件,寻找该事件需要的Listener类,运行这些Listener类执行事件,这里涉及了对外扩展对内解耦
创建spring上下文方法
扩展知识:为什么Spring boot打成Jar包可以直接运行呢
这个问题的关键就是因为JAVA里面没有提供任何标准的当时能够加载嵌套里面的JAR文件 所以我们怎么解决这个问题呢
我们通过将pom.XML文件中引入org.springframework.boot.spring-boot-maven-plugin依赖,这个依赖所能帮我们做的事就是帮你把所引入的依赖打成包 帮你写一个启动类并且定义相关配置文件MANIFEST.MF,我们在运行jar包时他首先会找到也只会去找Main-Class方法(见下图),加载并启动我们的spring-Boot程序,如果我们不引入该依赖,会造成打成的jar包无法运行
网友评论