最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用Spring組合自定義的注釋 mscharhag操作

 更新時(shí)間:2020年03月01日 10:48:41   作者:banq  
這篇文章主要介紹了使用Spring組合自定義的注釋 mscharhag,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的工作或?qū)W習(xí)有一定的參考借鑒價(jià)值,需要的朋友可以參考下

在本文中,我們將介紹一個(gè)非常有用的Spring功能,該功能允許我們基于一個(gè)或多個(gè)Spring注釋創(chuàng)建自己的注釋。

假設(shè)我們有一組經(jīng)常一起使用的Spring注釋。一個(gè)常見(jiàn)的示例是@Service和@Transactional的組合:

@Service
@Transactional(rollbackFor = Exception.<b>class</b>, timeout = 5)
<b>public</b> <b>class</b> UserService {
 ...
}

如果希望在所有服務(wù)類上用這兩個(gè)注釋,現(xiàn)在不必一遍又一遍地重復(fù)注釋了,我們可以創(chuàng)建一個(gè)新注釋包含這兩個(gè)注釋。創(chuàng)建我們自己的注釋非常簡(jiǎn)單,如下所示:

@Service
@Transactional(rollbackFor = Exception.<b>class</b>, timeout = 5)
@Retention(RetentionPolicy.RUNTIME)
<b>public</b> @<b>interface</b> MyService {}

注釋是使用@interface關(guān)鍵字定義的(而不是類或接口)。標(biāo)準(zhǔn)Java注釋@Retention用于指示注釋?xiě)?yīng)在運(yùn)行時(shí)可處理。我們還將兩個(gè)Spring注釋都添加到了注釋中。

現(xiàn)在,我們可以使用自己的@MyService批注來(lái)批注我們的服務(wù):

@MyService
<b>public</b> <b>class</b> UserService {
 ...
}

Spring現(xiàn)在檢測(cè)到@MyService被@Service和@Transactional注釋,并提供與前面的示例UserService相同的行為。

請(qǐng)注意,這是Spring注釋處理方式的功能,而不是一般的Java功能。

自定義注釋可以在各種情況下使用,以提高代碼的可讀性。這是另外兩個(gè)可能派上用場(chǎng)的例子。

也許我們?cè)诖a的各個(gè)位置都需要一個(gè)屬性值。通常使用Spring的@Value注釋注入屬性:

<font><i>// injects configuration properties my.api.key</i></font><font>
@Value(</font><font>"${my.api.key}"</font><font>) 
<b>private</b> String apiKey;
</font>

在這種情況下,我們可以將屬性表達(dá)式從代碼中移到單獨(dú)的注釋中:

@Value(<font>"${my.api.key}"</font><font>)
@Retention(RetentionPolicy.RUNTIME)
<b>public</b> @<b>interface</b> ApiKey {}
</font>

現(xiàn)在,在我們的代碼中,我們可以使用@ApiKey而不是在各處重復(fù)屬性表達(dá)式:

@ApiKey
<b>private</b> String apiKey;

另一個(gè)例子是集成測(cè)試。在測(cè)試中,通常使用各種Spring批注來(lái)定義測(cè)試設(shè)置??梢允褂米远x注釋將這些注釋分組在一起。例如,我們可以創(chuàng)建一個(gè)@MockMvcTest注釋,該注釋定義模擬mvc測(cè)試的Spring設(shè)置:

@SpringBootTest
@AutoConfigureMockMvc(secure = false)
@TestPropertySource(locations = <font>"classpath:test.properties"</font><font>)
@ExtendWith(SpringExtension.<b>class</b>)
@Retention(RetentionPolicy.RUNTIME)
<b>public</b> @<b>interface</b> MockMvcTest {}
</font>

現(xiàn)在,我們的測(cè)試定義看起來(lái)更加清晰。我們只需要添加@MockMvcTest即可獲得完整的測(cè)試設(shè)置:

@MockMvcTest
<b>public</b> <b>class</b> MyTest {
 ...
}

總結(jié)

到此這篇關(guān)于使用Spring組合自定義的注釋 mscharhag操作的文章就介紹到這了,更多相關(guān)spring 自定義注釋內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 完美解決IDEA Ctrl+Shift+f快捷鍵突然無(wú)效的問(wèn)題

    完美解決IDEA Ctrl+Shift+f快捷鍵突然無(wú)效的問(wèn)題

    這篇文章主要介紹了完美解決IDEA Ctrl+Shift+f快捷鍵突然無(wú)效的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-02-02
  • Java 重試框架 Sisyphus 配置的兩種方式

    Java 重試框架 Sisyphus 配置的兩種方式

    這一節(jié)讓我們一起學(xué)習(xí)下 sisyphus 基于函數(shù)式的配置和注解式的配置。為了滿足更加方便的配置,Retryer 類提供了許多可以配置的信息。下面一起進(jìn)入文章了解詳情內(nèi)容
    2021-11-11
  • 帶你快速搞定java數(shù)組

    帶你快速搞定java數(shù)組

    數(shù)組是相同類型數(shù)據(jù)的有序集合數(shù)組描述的是相同類型的若干個(gè)數(shù)據(jù),按照一定的先后次序排列組合而成。其中,每一個(gè)數(shù)據(jù)稱作一個(gè)數(shù)組元素,每個(gè)數(shù)組元素可以通過(guò)一個(gè)下標(biāo)來(lái)訪問(wèn)它們數(shù)組的聲明創(chuàng)建
    2021-07-07
  • 一文帶你深入了解Guava的緩存機(jī)制

    一文帶你深入了解Guava的緩存機(jī)制

    緩存在現(xiàn)代編程中的作用非常大,它能提高應(yīng)用性能,減少數(shù)據(jù)庫(kù)壓力,簡(jiǎn)直就是性能優(yōu)化的利器,本文主要來(lái)和大家聊聊Google?Guava的緩存機(jī)制,感興趣的小伙伴可以了解下
    2023-12-12
  • 詳解SpringMVC 自動(dòng)封裝枚舉類的方法

    詳解SpringMVC 自動(dòng)封裝枚舉類的方法

    springmvc默認(rèn)無(wú)法自動(dòng)封裝枚舉類,本篇文章主要介紹了詳解SpringMVC 自動(dòng)封裝枚舉類的方法,有興趣的可以了解一下。
    2017-04-04
  • java中main函數(shù)你知道多少

    java中main函數(shù)你知道多少

    大家好,本篇文章主要講的是java中main函數(shù)你知道多少,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽
    2022-01-01
  • Java中的@Repeatable注解使用詳解

    Java中的@Repeatable注解使用詳解

    這篇文章主要介紹了Java中的@Repeatable注解使用詳解,@Repeatable注解是java8為了解決同一個(gè)注解不能重復(fù)在同一類/方法/屬性上使用的問(wèn)題,本文提供了解決思路和部分實(shí)現(xiàn)代碼,需要的朋友可以參考下
    2024-02-02
  • java源碼閱讀之java.lang.Object

    java源碼閱讀之java.lang.Object

    這篇文章主要介紹了java源碼閱讀之java.lang.Object,具有一定借鑒價(jià)值,需要的朋友可以參考下
    2018-01-01
  • java讀寫(xiě)excel文件實(shí)現(xiàn)POI解析Excel的方法

    java讀寫(xiě)excel文件實(shí)現(xiàn)POI解析Excel的方法

    在日常工作中,我們常常會(huì)進(jìn)行Excel文件讀寫(xiě)操作,這篇文章主要介紹了java讀寫(xiě)excel文件實(shí)現(xiàn)POI解析Excel的方法,實(shí)例分析了java讀寫(xiě)excel的技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2018-10-10
  • Java14發(fā)布了,再也不怕NullPointerException了

    Java14發(fā)布了,再也不怕NullPointerException了

    這篇文章主要介紹了Java14發(fā)布了,再也不怕NullPointerException了,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2020-03-03

最新評(píng)論

海原县| 禹城市| 洛宁县| 弥勒县| 兴义市| 石狮市| 兴城市| 红安县| 广东省| 宜都市| 吴忠市| 鄯善县| 安乡县| 临城县| 乌兰浩特市| 庆阳市| 尉氏县| 邵阳市| 咸阳市| 昌都县| 额尔古纳市| 阿拉尔市| 南京市| 胶南市| 石景山区| 林甸县| 龙里县| 深圳市| 陇川县| 社会| 天镇县| 淳安县| 长春市| 阜宁县| 青海省| 上林县| 邮箱| 盱眙县| 肃宁县| 广汉市| 加查县|