自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

@Configuration,@Value,@ConfigurationProperties注解如何使用

開發(fā) 前端
主要是講解屬性注入的使用,我們可以根據(jù)不同的場景使用不同的配置進行合理的使用注解,沒有最好的,只有合適才是最好的。

一,@Configuration

概述

是spring里面的類,其實就是取代xml配置實例化bean的,是一個配置類,聲明這個類是一個作為配置類,取代xml中的bean注冊對象的,一般和@Bean以及@Scope注解配合使用,將bean對象注入并交給Spring來進行管理,當(dāng)然他本身也是一個類,由@component修飾,也是一個交給Spring管理的bean,所以也擁有@component功能,可以getBean獲取此對象,有一個屬性proxyBeanMethods,為true的時候,是保持單例對象,為false的時候,是不進行ioc容器的檢查,而是簡單的調(diào)用方法創(chuàng)建對象,可能會有多個實例對象存在。

注解圖

使用過程

作用

主要是用于注入一些Bean對象到IOC容器,比如注入dateSource,注入一些自己需要配置的類交給Spring來管理,就是bean注冊以及實例化的。

二,@Value

概述

此注解也是Spring 中的,可以從配置文件中注入一些屬性到業(yè)務(wù)層代碼中去,一般是有兩種格式,是${}和#{},一般我們使用的都是${},使用這個變量,可以注入字符串,可以注入list等,都是可以的,類型按照規(guī)則匹配即可,這也是我們經(jīng)常需要使用的,是讀取配置文件中的屬性;#{}使用的就是直接注入當(dāng)前配置的屬性,或者注入其他bean的屬性,這種用法和情景在平時很少使用。

注解圖

使用過程

${}

#{}

作用

${}主要是使用這個,注入配置文件中的屬性值,可以支持一些復(fù)雜的數(shù)據(jù)類型,方便注入配置可變的屬性,注意當(dāng)配置文件中的屬性不存在的時候,會報錯,我們可以使用給一個默認值,也可以使用下面的@ConfigurationProperties注解進行屬性的注入。

三,@ConfigurationProperties

概述

此注解是SpringBoot中的注解,主要是三種使用場景,主要就是也是讀取配置文件的屬性,這個讀取屬性,可以將屬性統(tǒng)一配置到一個實體類中去,這樣使用的時候,就可以從全局中獲取,不需要我們在各個地方注入,可以統(tǒng)一來進行管理,主要是用于配置文件中的屬性注入。

注解圖

使用過程

屬性注入

注:注入屬性,統(tǒng)一管理,不會報錯,建議和@RefreshScop(是springCloud的注解)注解配置使用,用于可以刷新配置,當(dāng)Bean被實例化時,@ConfigurationProperties會將對應(yīng)前綴的后面的屬性與Bean對象的屬性匹配。符合條件則進行賦值。

在配置類的Bean定義

注:這里便是將前綴為“spring.datasource.primary”的屬性,賦值給DataSource對應(yīng)的屬性值。

通過@EnableConfigurationProperties定義為Bean

注:通過@EnableConfigurationProperties對KafkaProperties進行實例化時,便會使用到@ConfigurationProperties的功能,對屬性進行匹配賦值。就可以使用bean注冊,使用bean。

作用

主要就是配置問價中的屬性和java類定義的屬性進行綁定在注入,對屬性賦值,一般我們建議使用此注解進行注入屬性,而且再Springcloud中可以配合使用,刷新配置文件中的值,@value也可以使用,如果只是一個屬性的話,可以建議使用。

@EnableConfigurationProperties

其實這個注解就是和@ConfigurationProperties注解配合使用,進行屬性注入的綁定,就是將配置文件中的屬性和@ConfigurationProperties修飾的類進行屬性綁定,并交給到Spring來進行管理,當(dāng)然 也可以只使用@ConfigurationProperties并使用@Component修飾,交給spring來進行管理,也可以的。一般我們是這樣使用的,不過可以看下KafkaProperties的使用,就可以發(fā)現(xiàn)是使用了這種配合的注解。

四,總結(jié)

主要是講解屬性注入的使用,我們可以根據(jù)不同的場景使用不同的配置進行合理的使用注解,沒有最好的,只有合適才是最好的。

責(zé)任編輯:武曉燕 來源: 今日頭條
點贊
收藏

51CTO技術(shù)棧公眾號