您好,登錄后才能下訂單哦!
本篇文章和大家了解一下SpringBoot底層注解的相關介紹。有一定的參考價值,有需要的朋友可以參考一下,希望對大家有所幫助。
我們先來看看,以前我們用spring是怎么配置bean的屬性值:
雖然不算多,但是如果每一個bean都這樣配置,屬實不容易。這個時候我們的@Configuration來了,看他是怎么進行配置bean的:
直接在類上加上@Configuration注解,告訴SpringBoot,我們Myconfig是個配置類哈!然后我們只需要創建方法返回一個對象,再在方法上添加@Bean注解將它交給容器來注冊。如果我們以后要獲取Bean對象,只需要調用這個方法就行了,不過需要注意的是它默認的就是單例的,這和spring一樣,如果我們想要它成為多例需要設置一下@Configuration注解里面的proxyBeanMethods屬性,因此我們引出了FULL和LITE模式。
Full
模式是指proxyBeanMethods = true
,開啟代理bean的方法。此時調用配置類中每一個給而容器注冊組件方法,都會從容器中找組件,保持單例模式。它保證了每個@Bean方法無論被調用多少次,返回的組件都是單例的。
Lite
模式是指proxyBeanMethods = false
,關閉代理bean的方法。容器中不會保存代理對象,每一次調用配置類里面的方法,·都會產生一個新的對象。這可以解決組件依賴的問題。它保證了每個@Bean方法調用多少次返回的組件都是新創建的。
那么我們應該思考什么時候用Full模式什么時候用Lite模式?
我們先看一下這個注解的內部結構。
條件裝配注解:滿足我們Conditional指定的條件,就進行組件注入,不然不進行組件注入。
我們發現它的子注解還是相對比較多的,我們挑幾個常見的注解來說一下:
案例:
這里我們故意將這個@Bean("tom")注釋掉,但是我們依然保留user01(),我們看看我們的容器中有沒有包含user01這個組件:
false,很遺憾,因為”tom“,user01也無法被注冊了。
這個注解是用來導入spring配置文件的
這個注解是用來進行配置綁定的。
我們有兩種方法:
方法一:@Component+@ConfigurationProperties組合使用
我們在核心配置文件applicantion.properties中配置前綴為mycar的值
我們看一下網頁上這個car的屬性是什么?
與我們在核心配置文件配置的值相同。
方法二:@EnableConfigurationProperties+@ConfigurationProperties組合使用
@EnableConfigurationPropertise:開啟組件屬性配置功能,并把這個組件自動注冊到容器中。
需要注意的是: @ConfigurationProperties不會像Spring容器注入相關處理類,只是起到相關標記作用,相關處理邏輯還是由@EnableConfigurationPropertise導入處理類來完成。僅僅被標記EnableConfigurationPropertise注解的類,默認情況下也不會注冊為Bean。
以上就是SpringBoot底層注解的相關介紹的簡略介紹,當然詳細使用上面的不同還得要大家自己使用過才領會。如果想了解更多,歡迎關注億速云行業資訊頻道哦!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。