日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 前端技术 > javascript >内容正文

javascript

Spring Boot 最核心的 3 个注解详解

發(fā)布時(shí)間:2025/3/21 javascript 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Spring Boot 最核心的 3 个注解详解 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

最近面試一些 Java 開(kāi)發(fā)者,他們其中有些在公司實(shí)際用過(guò) Spring Boot, 有些是自己興趣愛(ài)好在業(yè)余自己學(xué)習(xí)過(guò)。

然而,當(dāng)我問(wèn)他們 Spring Boot 最核心的 3 個(gè)注解是什么,令我失望的是鮮有人能答上來(lái),這樣你能說(shuō)你對(duì) Spring Boot 很了解嗎?這可能還會(huì)給你減分!

?

你所需具備的基礎(chǔ)


  • 什么是 Spring Boot?

  • Spring Boot 核心配置文件詳解

  • Spring Boot 開(kāi)啟的 2 種方式

  • Spring Boot 自動(dòng)配置原理、實(shí)戰(zhàn)

  • Spring Boot 2.x 啟動(dòng)全過(guò)程源碼分析

?

Spring Boot 核心注解講解


Spring Boot 最大的特點(diǎn)是無(wú)需 XML 配置文件,能自動(dòng)掃描包路徑裝載并注入對(duì)象,并能做到根據(jù) classpath 下的 jar 包自動(dòng)配置。

所以 Spring Boot 最核心的 3 個(gè)注解就是:

1、@Configuration

org.springframework.context.annotation.Configuration

這是 Spring 3.0 添加的一個(gè)注解,用來(lái)代替 applicationContext.xml 配置文件,所有這個(gè)配置文件里面能做到的事情都可以通過(guò)這個(gè)注解所在類(lèi)來(lái)進(jìn)行注冊(cè)。

下面幾個(gè)相關(guān)注解也是非常重要的!

@Bean

用來(lái)代替 XML 配置文件里面的?<bean ...>?配置。

@ImportResource

如果有些通過(guò)類(lèi)的注冊(cè)方式配置不了的,可以通過(guò)這個(gè)注解引入額外的 XML 配置文件,有些老的配置文件無(wú)法通過(guò)?@Configuration?方式配置的非常管用。

@Import

用來(lái)引入額外的一個(gè)或者多個(gè)?@Configuration?修飾的配置文件類(lèi)。

@SpringBootConfiguration

這個(gè)注解就是?@Configuration?注解的變體,只是用來(lái)修飾是 Spring Boot 配置而已,或者可利于 Spring Boot 后續(xù)的擴(kuò)展,源碼如下。

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

2、@ComponentScan

org.springframework.context.annotation.ComponentScan

這是 Spring 3.1 添加的一個(gè)注解,用來(lái)代替配置文件中的?component-scan?配置,開(kāi)啟組件掃描,即自動(dòng)掃描包路徑下的?@Component?注解進(jìn)行注冊(cè) bean 實(shí)例到 context 中。

另外,@ComponentScans?是可重復(fù)注解,即可以配置多個(gè),用來(lái)配置注冊(cè)不同的子包。

關(guān)于重復(fù)注解,大家可以看這篇文章《JAVA元注解@interface詳解》。

3、@EnableAutoConfiguration

org.springframework.boot.autoconfigure.EnableAutoConfiguration

看全路徑就知道,這是自 Spring Boot 誕生時(shí)添加的注解,用來(lái)提供自動(dòng)配置,上面的兩個(gè)都是?spring-context?包下的,不屬于 Spring Boot,所以 Spring 3.0 之后的去 XML 配置方式已經(jīng)為 Spring Boot 埋下了伏筆!

自動(dòng)配置更多詳細(xì)使用及實(shí)戰(zhàn)可以看這篇文章《Spring Boot自動(dòng)配置原理、實(shí)戰(zhàn)》。

?

最后的彩蛋


Spring Boot 最核心的 3 個(gè)注解介紹完了,大家可能會(huì)有疑問(wèn),為什么最主要的注解?@SpringBootApplication?不在其中?

留給大家的彩蛋,其實(shí)這個(gè)?@SpringBootApplication?注解就包含了以上 3 個(gè)主要注解,平時(shí)沒(méi)有自定義配置的需求,則使用?@SpringBootApplication?注解完全就可以了!

讓我們來(lái)看下?@SpringBootApplication?注解的源碼,一切明了!

@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?{...}

看完漲姿勢(shì)了嗎?

總結(jié)

以上是生活随笔為你收集整理的Spring Boot 最核心的 3 个注解详解的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。