????????在開發接口工作中,當你接到需求,發現這個需求是曾相識,檢索一下之前的工作記錄,猛然發現,這個需求相比之前敲過的需求只是傳遞的個別參數發生了變化,你會怎么做?在開發一次?不存在的!在這里,我為大家提供一種參考思路,大致如下:
? ? ? ? 一.編寫一個服務接口類,該接口注明要實現的方法,讓spring容器管理所有實現該接口的服務類.
? ? ?在這里,我們先構建一個IGetDoServiceImpl接口,里面聲明一個getDoCommand方法.創建SwimmingServiceImpl和RunningServiceImpl并實現IGetDoServiceImpl接口.getDoCommand方法中分別輸出不同的兩句話.利用spring的@service注解將這兩個實現類管理起來.
? ? ?二.自定義一個注解,讓其使用在第一步的每一個服務類上.
? ? 接下來我們創建一個注解@SupportCodes,其中@Target表示注解的作用范圍@Retention表示注解的生效階段.里面有一個取值的方法.
? ? 三.編寫util類,該類獲取指定的服務類,來執行服務.
? ? 我們定義一個工廠Util.它實現ApplicationContextAware,以便于獲得ApplicationContext的實現類,注意,這里一定要添加@Component注解,才能獲得ApplicationContext.第二部分是主要內容,里面有一個getServiceImpl的方法,你可以傳入接口的類型和注解的內容,就可以得到自己想要的內容,并執行它.
? ? 在控制層調用該方法,就能看到控制臺輸出"you can swimming!"實際生產中,可以當做參數傳入以便更好的處理業務,這樣寫好的一個接口就可以重復利用了.