上篇博客我們詳細的聊了《JavaEE開發(fā)之Spring中的多線程編程以及任務定時器詳解》,本篇博客我們就來聊聊條件注解@Conditional以及組合條件。條件注解說簡單點就是根據(jù)特定的條件來選擇Bean對象的創(chuàng)建。條件注解就是可以根據(jù)不同的條件來做出不同的事情。在Spring中條件注解可以說是設(shè)計模式中狀態(tài)模式的一種體現(xiàn)方式,同時也是面向?qū)ο缶幊讨卸鄳B(tài)的應用部分。而組合注解就是將現(xiàn)有的注解進行組合。下方會給出具體的介紹和實例。
一、條件注解----@Conditional
本篇博客的本部分我們來聊一下條件注解,顧名思義,條件注解就是可以根據(jù)不同的條件來做出不同的事情。在Spring中條件注解可以說是設(shè)計模式中狀態(tài)模式的一種體現(xiàn)方式,同時也是面向?qū)ο缶幊讨卸鄳B(tài)的應用部分。
在Spring框架中,當我們使用條件注解時,我們會為每種獨立的條件創(chuàng)建一個類,根據(jù)這個類對應的條件的成立情況我們來選擇不同的任務來執(zhí)行。當然我們在聲明任務時,一般使用接口來聲明。因為我們會在Spring的配置類中指定具體條件下的具體類。接下來,我們將來看一下Spring框架中@Conditional注解的具體使用方式。
當然同一個Service接口所對應的條件集合中是互斥的,也就是說在特定情況下只有一個條件成立。
1、創(chuàng)建服務接口以及具體的服務類
首先我們來創(chuàng)建一個Service的接口,然后再基于遵循該接口的情況下來創(chuàng)建兩個Service類。下方我們將會在配置類中指定不同條件下會對應不同的Service對象。首先我們先來創(chuàng)建Service的接口。下方這段代碼就是我們創(chuàng)建的Service的接口,該接口比較簡單,只有一個描述方法。在具體是Service類中我們將會給出description()方法的具體實現(xiàn),用此方法來區(qū)分不同類的實現(xiàn)。
網(wǎng)友評論