亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

springboot中@SpringBootApplication注解的作用是什么

發布時間:2021-07-30 14:22:08 來源:億速云 閱讀:803 作者:Leah 欄目:大數據

springboot中@SpringBootApplication注解的作用是什么,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

SpringBootApplication是springboot的基本注解,是寫在springboot的啟動類上的注解,目的是開啟springboot的自動配置

@SpringBootApplication是一個組合注解,先把源碼貼出來

package org.springframework.boot.autoconfigure;


@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
@SpringBootConfiguration
@EnableAutoConfiguration
@ComponentScan(excludeFilters = { @Filter(type = FilterType.CUSTOM, classes = TypeExcludeFilter.class),
		@Filter(type = FilterType.CUSTOM, classes = AutoConfigurationExcludeFilter.class) })
public @interface SpringBootApplication {

	
	@AliasFor(annotation = EnableAutoConfiguration.class)
	Class<?>[] exclude() default {};


	@AliasFor(annotation = EnableAutoConfiguration.class)
	String[] excludeName() default {};


	@AliasFor(annotation = ComponentScan.class, attribute = "basePackages")
	String[] scanBasePackages() default {};


	@AliasFor(annotation = ComponentScan.class, attribute = "basePackageClasses")
	Class<?>[] scanBasePackageClasses() default {};

}

在這里可以看到這里有7個注解

其中@Target(ElementType.TYPE)、@Retention(RetentionPolicy.RUNTIME)、@Documented、@Inherited這四個注解是Java原生的,用來標注這個注解的用法的這里不再解釋。

重點是@SpringBootConfiguration、@EnableAutoConfiguration、@ComponentScan這三個注解

來一個一個分析

@ComponentScan,看到這個注解很容易想到spring配置里的一個標簽

<context:component-scan base-package=""/>

看到這個標簽可能就明白了就是掃描指定包的,同理@ComponentScans注解是可以配置多個需要掃描的包

@EnableAutoConfiguration這個注解也是很常見的,這個注解的意思就是開啟自動配置

以上兩個注解配合,掃描到了包,然后開始自動配置。這兩個都是spring的注解,有spring功底的,應該理解起來不是問題

@SpringBootConfiguration不是spring原生的,但是點開源碼就發現一個很神奇的事情

@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Configuration
public @interface SpringBootConfiguration {

}

這就是@SpringBootConfiguration這個注解的全部代碼,他只是用了下@Configuration注解。

綜上,springboot的啟動類不用@SpringBootApplication,而是@Configuration、@EnableAutoConfiguration、@ComponentScan,同樣能達到啟動的目的。@SpringBootApplication的目的只是為了簡化,讓開發人員少寫代碼,實現相同的目標,這也算Java封裝思想的提現。

關于springboot中@SpringBootApplication注解的作用是什么問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

荥经县| 伊川县| 崇信县| 芜湖县| 邹平县| 泾阳县| 石棉县| 龙泉市| 察隅县| 乐陵市| 黄龙县| 莱阳市| 镇原县| 阿拉善右旗| 长乐市| 武定县| 灵台县| 吉木萨尔县| 罗山县| 广汉市| 黑水县| 曲靖市| 菏泽市| 宜章县| 宜黄县| 邹城市| 惠来县| 金华市| 鄂尔多斯市| 黑山县| 达日县| 普格县| 松阳县| 尖扎县| 都昌县| 大丰市| 黎平县| 灵璧县| 甘肃省| 嘉荫县| 普定县|