欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

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

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

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

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

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

注釋是使用@interface關(guān)鍵字定義的(而不是類或接口)。標準Java注釋@Retention用于指示注釋應在運行時可處理。我們還將兩個Spring注釋都添加到了注釋中。

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

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

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

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

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

也許我們在代碼的各個位置都需要一個屬性值。通常使用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>

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

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

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

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

另一個例子是集成測試。在測試中,通常使用各種Spring批注來定義測試設(shè)置。可以使用自定義注釋將這些注釋分組在一起。例如,我們可以創(chuàng)建一個@MockMvcTest注釋,該注釋定義模擬mvc測試的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)在,我們的測試定義看起來更加清晰。我們只需要添加@MockMvcTest即可獲得完整的測試設(shè)置:

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

總結(jié)

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

相關(guān)文章

  • javacv-ffmpeg ProcessBuilder批量旋轉(zhuǎn)圖片方式

    javacv-ffmpeg ProcessBuilder批量旋轉(zhuǎn)圖片方式

    為了批量處理大量圖片的旋轉(zhuǎn),可以使用javacv-ffmpeg結(jié)合ProcessBuilder,首先在maven配置文件中添加ffmpeg及javacpp依賴,javacpp支持調(diào)用C/C++方法,而ffmpeg基于C語言,使用ProcessBuilder創(chuàng)建進程調(diào)用ffmpeg方法
    2024-09-09
  • JDK與JRE的下載和安裝以及配置JDK環(huán)境變量圖文教程

    JDK與JRE的下載和安裝以及配置JDK環(huán)境變量圖文教程

    JRE也就是(Java?RuntimeEnvironment)Java運行環(huán)境,是運行JAVA程序所必須的環(huán)境的集合,包含各種類庫,下面這篇文章主要給大家介紹了關(guān)于JDK與JRE的下載和安裝以及配置JDK環(huán)境變量的相關(guān)資料,需要的朋友可以參考下
    2023-12-12
  • 詳解MyBatis-Plus updateById方法更新不了空字符串/null解決方法

    詳解MyBatis-Plus updateById方法更新不了空字符串/null解決方法

    這篇文章主要介紹了詳解MyBatis-Plus updateById方法更新不了空字符串/null解決方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-09-09
  • Java設(shè)計模式之建造者模式

    Java設(shè)計模式之建造者模式

    這篇文章介紹了Java設(shè)計模式之建造者模式,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-09-09
  • Java線程Dump分析工具jstack解析及使用場景

    Java線程Dump分析工具jstack解析及使用場景

    這篇文章主要介紹了Java線程Dump分析工具jstack解析及使用場景,具有一定借鑒價值,需要的朋友可以參考下
    2018-01-01
  • Java通過word模板實現(xiàn)創(chuàng)建word文檔報告

    Java通過word模板實現(xiàn)創(chuàng)建word文檔報告

    這篇文章主要為大家詳細介紹了Java如何通過word模板實現(xiàn)創(chuàng)建word文檔報告的教程,文中的示例代碼講解詳細,感興趣的小伙伴可以學習一下
    2022-09-09
  • java?HttpURLConnection類的disconnect方法與http長連接詳解

    java?HttpURLConnection類的disconnect方法與http長連接詳解

    這篇文章主要介紹了java?HttpURLConnection類的disconnect方法與http長連接,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-04-04
  • idea如何查看安裝插件的位置

    idea如何查看安裝插件的位置

    這篇文章主要介紹了idea如何查看安裝插件的位置問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • IDEA一鍵生成方法的序列圖神操作

    IDEA一鍵生成方法的序列圖神操作

    為了能夠更快更清晰地搞清對象之間的調(diào)用關(guān)系,我經(jīng)常需要用到序列圖。手動畫序列圖還是很麻煩費時的,不過?IDEA?提供了一個叫做SequenceDiagram?的插件幫助我們解決這個問題。通SequenceDiagram?這個插件,我們一鍵可以生成時序圖
    2022-01-01
  • .idea文件夾里面iml文件的作用及說明

    .idea文件夾里面iml文件的作用及說明

    這篇文章主要介紹了.idea文件夾里面iml文件的作用及說明,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-08-08

最新評論