上篇博客我們?cè)敿?xì)的聊了《JavaEE開(kāi)發(fā)之Spring中的多線程編程以及任務(wù)定時(shí)器詳解》,本篇博客我們就來(lái)聊聊條件注解@Conditional以及組合條件。條件注解說(shuō)簡(jiǎn)單點(diǎn)就是根據(jù)特定的條件來(lái)選擇Bean對(duì)象的創(chuàng)建。條件注解就是可以根據(jù)不同的條件來(lái)做出不同的事情。在Spring中條件注解可以說(shuō)是設(shè)計(jì)模式中狀態(tài)模式的一種體現(xiàn)方式,同時(shí)也是面向?qū)ο缶幊讨卸鄳B(tài)的應(yīng)用部分。而組合注解就是將現(xiàn)有的注解進(jìn)行組合。下方會(huì)給出具體的介紹和實(shí)例。
一、條件注解----@Conditional
本篇博客的本部分我們來(lái)聊一下條件注解,顧名思義,條件注解就是可以根據(jù)不同的條件來(lái)做出不同的事情。在Spring中條件注解可以說(shuō)是設(shè)計(jì)模式中狀態(tài)模式的一種體現(xiàn)方式,同時(shí)也是面向?qū)ο缶幊讨卸鄳B(tài)的應(yīng)用部分。
在Spring框架中,當(dāng)我們使用條件注解時(shí),我們會(huì)為每種獨(dú)立的條件創(chuàng)建一個(gè)類,根據(jù)這個(gè)類對(duì)應(yīng)的條件的成立情況我們來(lái)選擇不同的任務(wù)來(lái)執(zhí)行。當(dāng)然我們?cè)诼暶魅蝿?wù)時(shí),一般使用接口來(lái)聲明。因?yàn)槲覀儠?huì)在Spring的配置類中指定具體條件下的具體類。接下來(lái),我們將來(lái)看一下Spring框架中@Conditional注解的具體使用方式。
當(dāng)然同一個(gè)Service接口所對(duì)應(yīng)的條件集合中是互斥的,也就是說(shuō)在特定情況下只有一個(gè)條件成立。
1、創(chuàng)建服務(wù)接口以及具體的服務(wù)類
首先我們來(lái)創(chuàng)建一個(gè)Service的接口,然后再基于遵循該接口的情況下來(lái)創(chuàng)建兩個(gè)Service類。下方我們將會(huì)在配置類中指定不同條件下會(huì)對(duì)應(yīng)不同的Service對(duì)象。首先我們先來(lái)創(chuàng)建Service的接口。下方這段代碼就是我們創(chuàng)建的Service的接口,該接口比較簡(jiǎn)單,只有一個(gè)描述方法。在具體是Service類中我們將會(huì)給出description()方法的具體實(shí)現(xiàn),用此方法來(lái)區(qū)分不同類的實(shí)現(xiàn)。
延伸閱讀
- ssh框架 2016-09-30
- 阿里移動(dòng)安全 [無(wú)線安全]玩轉(zhuǎn)無(wú)線電——不安全的藍(lán)牙鎖 2017-07-26
- 消息隊(duì)列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標(biāo)分割】 2017-07-26
- 詞向量-LRWE模型-更好地識(shí)別反義詞同義詞 2017-07-26
- 從棧不平衡問(wèn)題 理解 calling convention 2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明 2017-07-26
- Swift實(shí)現(xiàn)JSON轉(zhuǎn)Model - HandyJSON使用講解 2017-07-26
- 阿里移動(dòng)安全 Android端惡意鎖屏勒索應(yīng)用分析 2017-07-26
- 集合結(jié)合數(shù)據(jù)結(jié)構(gòu)來(lái)看看(二) 2017-07-26
