亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

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

瀏覽:58日期:2023-09-19 13:25:37

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

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

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

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

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

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

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

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

Spring現在檢測到@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>

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

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

另一個例子是集成測試。在測試中,通常使用各種Spring批注來定義測試設置。可以使用自定義注釋將這些注釋分組在一起。例如,我們可以創建一個@MockMvcTest注釋,該注釋定義模擬mvc測試的Spring設置:

@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>

現在,我們的測試定義看起來更加清晰。我們只需要添加@MockMvcTest即可獲得完整的測試設置:

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

總結

到此這篇關于使用Spring組合自定義的注釋 mscharhag操作的文章就介紹到這了,更多相關spring 自定義注釋內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Spring
相關文章:
主站蜘蛛池模板: 黄视频网站免费看 | 国产黄色免费观看 | 2022麻豆剧果冻传媒 | 国产成人精品一区二区不卡 | 亚洲三级黄 | 91麻豆精品国产综合久久久 | 日本免费人成黄页网观看视频 | 22eee在线播放成人免费视频 | 无内丝袜透明在线播放 | 国产精品免费一区二区三区四区 | 日本一级免费 | 日批网站在线观看 | ntr中文字幕亚洲综合 | 欧美成人免费大片888 | 亚洲夜夜骑 | 国产一级毛片午夜福 | 欧美片免费观看网址 | 国产午夜精品一区二区三区不卡 | 日韩中文字幕免费在线观看 | 国产成人精品一区二三区在线观看 | 久久亚洲国产精品五月天 | 91免费网站| 免费中文字幕一级毛片 | 一本大道无香蕉综合在线 | 真人一级一级特黄高清毛片 | 中文字幕一区二区三区在线播放 | 毛片毛片大全aaaa | 99九九精品 | 69黄色片| 色两性网欧美 | 成人性生交大片免费看午夜a | a级毛片免费观看在线播放 a级毛片免费观看网站 | 亚洲精品成人久久久影院 | 亚洲欧洲一区二区三区在线 | 91进入蜜桃臀在线播放 | 亚洲欧美日韩精品久久亚洲区色播 | 久久免费99精品国产自在现线 | 91久久婷婷国产综合精品青草 | 麻豆久久| 亚洲国产色婷婷精品综合在线观看 | 亚洲色图在线观看视频 |