成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Spring Boot 最核心的 3 個(gè)注解詳解

hzx / 924人閱讀

摘要:核心注解講解最大的特點(diǎn)是無需配置文件,能自動(dòng)掃描包路徑裝載并注入對(duì)象,并能做到根據(jù)下的包自動(dòng)配置。所以最核心的個(gè)注解就是這是添加的一個(gè)注解,用來代替配置文件,所有這個(gè)配置文件里面能做到的事情都可以通過這個(gè)注解所在類來進(jìn)行注冊(cè)。

最近面試一些 Java 開發(fā)者,他們其中有些在公司實(shí)際用過 Spring Boot, 有些是自己興趣愛好在業(yè)余自己學(xué)習(xí)過。然而,當(dāng)我問他們 Spring Boot 最核心的 3 個(gè)注解是什么,令我失望的是鮮有人能答上來,這樣你能說你對(duì) Spring Boot 很了解嗎?這可能還會(huì)給你減分!

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

什么是 Spring Boot?

Spring Boot 核心配置文件詳解

Spring Boot 開啟的 2 種方式

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

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

更多請(qǐng)?jiān)贘ava技術(shù)棧微信公眾號(hào)后臺(tái)回復(fù)關(guān)鍵字:boot。

Spring Boot 核心注解講解

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

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

1、@Configuration
org.springframework.context.annotation.Configuration

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

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

@Bean

用來代替 XML 配置文件里面的 配置。

@ImportResource

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

@Import

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

@SpringBootConfiguration

這個(gè)注解就是 @Configuration 注解的變體,只是用來修飾是 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è)注解,用來代替配置文件中的 component-scan 配置,開啟組件掃描,即自動(dòng)掃描包路徑下的 @Component 注解進(jìn)行注冊(cè) bean 實(shí)例到 context 中。

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

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

3、@EnableAutoConfiguration
org.springframework.boot.autoconfigure.EnableAutoConfiguration

看全路徑就知道,這是自 Spring Boot 誕生時(shí)添加的注解,用來提供自動(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ì)有疑問,為什么最主要的注解 @SpringBootApplication 不在其中?

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

讓我們來看下 @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ì)了嗎?

點(diǎn)贊轉(zhuǎn)發(fā)一下吧,以后碾壓面試官!

更多干貨推薦

1.史上最強(qiáng) Java 中高級(jí)面試題整理

2.史上最強(qiáng) Spring Boot & Cloud 教程整理

3.史上最強(qiáng)架構(gòu)設(shè)計(jì)分布式技術(shù)干貨整理

本文原創(chuàng)首發(fā)于微信公眾號(hào):Java技術(shù)棧(id:javastack),關(guān)注公眾號(hào)在后臺(tái)回復(fù) "boot" 可獲取更多,轉(zhuǎn)載請(qǐng)?jiān)瓨颖A舯拘畔ⅰ?/pre>

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/71709.html

相關(guān)文章

  • Spring Boot 面試,一個(gè)問題就干趴下了!

    摘要:我又問微服務(wù)和有什么關(guān)系不用行不行然后對(duì)方就吱吱唔唔了可以打包部署,內(nèi)部集成了。為什么說是自動(dòng)配置的開啟注解是,其實(shí)它就是由下面三個(gè)注解組成的上面三個(gè)注解,前面兩個(gè)都是自帶的,和無關(guān),所以說上面的回答的不是在點(diǎn)上。 最近棧長面試了不少人,其中不乏說對(duì) Spring Boot 非常熟悉的,然后當(dāng)我問到一些 Spring Boot 核心功能和原理的時(shí)候,沒人能說得上來,或者說不到點(diǎn)上,可以...

    junbaor 評(píng)論0 收藏0
  • 吐血整理 20 道 Spring Boot 面試題,我經(jīng)常拿來面試別人!

    摘要:你如何理解中的可以理解為啟動(dòng)器,它包含了一系列可以集成到應(yīng)用里面的依賴包,你可以一站式集成及其他技術(shù),而不需要到處找示例代碼和依賴包。如你想使用訪問數(shù)據(jù)庫,只要加入啟動(dòng)器依賴就能使用了。 面試了一些人,簡歷上都說自己熟悉 Spring Boot, 或者說正在學(xué)習(xí) Spring Boot,一問他們時(shí),都只停留在簡單的使用階段,很多東西都不清楚,也讓我對(duì)面試者大失所望。 下面,我給大家總結(jié)...

    haoguo 評(píng)論0 收藏0
  • Java學(xué)習(xí)路線總結(jié),搬磚工逆襲Java架構(gòu)師(全網(wǎng)強(qiáng))

    摘要:哪吒社區(qū)技能樹打卡打卡貼函數(shù)式接口簡介領(lǐng)域優(yōu)質(zhì)創(chuàng)作者哪吒公眾號(hào)作者架構(gòu)師奮斗者掃描主頁左側(cè)二維碼,加入群聊,一起學(xué)習(xí)一起進(jìn)步歡迎點(diǎn)贊收藏留言前情提要無意間聽到領(lǐng)導(dǎo)們的談話,現(xiàn)在公司的現(xiàn)狀是碼農(nóng)太多,但能獨(dú)立帶隊(duì)的人太少,簡而言之,不缺干 ? 哪吒社區(qū)Java技能樹打卡?【打卡貼 day2...

    Scorpion 評(píng)論0 收藏0
  • SpringBoot 實(shí)戰(zhàn) (二) | 第一個(gè) SpringBoot 工程詳解

    摘要:代碼如下可以看到中一共有個(gè)依賴,其中只有是我手動(dòng)加入的,用于單元測(cè)試。點(diǎn)擊項(xiàng)目啟動(dòng)按鈕,效果如下好的程序必須配備完善的單元測(cè)試。測(cè)試結(jié)果如下可以看到紅圈框住的地方,出現(xiàn)這個(gè)綠色標(biāo)志證明單元測(cè)試沒問題。 微信公眾號(hào):一個(gè)優(yōu)秀的廢人如有問題或建議,請(qǐng)后臺(tái)留言,我會(huì)盡力解決你的問題。 前言 哎呦喂,按照以往的慣例今天周六我的安排應(yīng)該是待在家學(xué)學(xué)貓叫啥的。但是今年這種日子就可能一去不復(fù)返了,沒...

    GeekQiaQia 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

hzx

|高級(jí)講師

TA的文章

閱讀更多
最新活動(dòng)
閱讀需要支付1元查看
<