springboot啟動(dòng)原理流程?
springboot是基于spring的新型的輕量級(jí)框架,最厲害的地方當(dāng)屬自動(dòng)配置。它可以根據(jù)啟動(dòng)流程和相關(guān)原理來(lái)看看,實(shí)現(xiàn)傳奇的自動(dòng)配置
二、springboot的啟動(dòng)類(lèi)入口
用過(guò)springboot的技術(shù)人員很顯而易見(jiàn)的兩者之間的差別就是視覺(jué)上很直觀的:springboot有自己獨(dú)立的啟動(dòng)類(lèi)(獨(dú)立程序)
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
從上面代碼可以看出,Annotation定義(@SpringBootApplication)和類(lèi)定義(SpringApplication.run)最為耀眼,所以要揭開(kāi)SpringBoot的神秘面紗,我們要從這兩位開(kāi)始就可以了。
三、單單是SpringBootApplication接口用到了這些注解
@Target(ElementType.TYPE) // 注解的適用范圍,其中TYPE用于描述類(lèi)、接口(包括包注解類(lèi)型)或enum聲明
@Retention(RetentionPolicy.RUNTIME) // 注解的生命周期,保留到class文件中(三個(gè)生命周期)
@Documented // 表明這個(gè)注解應(yīng)該被javadoc記錄
@Inherited // 子類(lèi)可以繼承該注解
@SpringBootConfiguration // 繼承了Configuration,表示當(dāng)前是注解類(lèi)
@EnableAutoConfiguration // 開(kāi)啟springboot的注解功能,springboot的四大神器之一,其借助@impo