@Service春( "dataDictionaryService")のコメント

1.インタフェース

パブリック インターフェイスDataDictionaryService {
     / **
     *為替レートを取得します
     * @Param coinType元の通貨
     * @Param billCoin割引通貨
     * @Param 離れた最寄りの為替レートからDATEテイク時間
     * @return 
     * / 
    公共のBigDecimal getExch(文字列coinType、文字列billCoin、日付)。

}

 

 示すように、2つの実装クラスがあります。

2、実装クラス

@Service( "dataDictionaryService" パブリック クラス DataDictionaryCache 実装DataDictionaryService {
    @Autowired
    プライベートDataDictionaryServiceImpl dataDictionaryService。

    プライベート地図<ExchConditions、エクスチェンジクラブ> exchMap = 新しいのConcurrentHashMap <> ();

    @Autowired
    民間のCacheManagerのCacheManager。

    // プライベート地図<PrpDcurrency、prpDcurrency> prpDcurrencyMap =新しいのConcurrentHashMap <>();

    @オーバーライド
    公共のBigDecimal getExch(文字列coinType、文字列billCoin、日付){
        ExchConditionsのexchConditions = 新しいExchConditions(coinType、billCoin、日付)。
        もし(!exchMap.containsKey(exchConditions)
                 || exchMap.get(exchConditions).isTimeout()){
            BigDecimalのEXCH = dataDictionaryService.getExch(coinType、billCoin、日付)。
            exchMap.put(exchConditions、新しいエクスチェンジクラブ(EXCH));
        }
        返すexchMap.get(exchConditions).getExchrateを();
    } 
}


@Component 
パブリッククラスDataDictionaryServiceImpl実装DataDictionaryService {

@Autowired
プライベートDictAPIService dictService;

@Autowired
プライベートRelationBreakMapper relationBreakMapper;

@Autowired
プライベートOutstandingBreakMapper outstandingBreakMapper;
@Autowired
プライベートAssessBreakMapper assessBreakMapper;

/ **
*空だった取得
* @param coinType元の通貨
* @param billCoinオフ通貨
最新の為替レートから取ら* @param日時
* @return
* /
@Override
公共getExchのBigDecimal(coinType文字列、文字列billCoin、日付DATE){
PrpDexch EXCH = NULL;
トライ{
EXCH = dictService.getPrpDexch( "DMS"、日付、coinType、billCoin)。
}キャッチ(例外e){

BigDecimal.ZEROを返します。
}
戻りEXCH == nullの?。BigDecimal.ZERO:exch.getExchRate()分割(新規のBigDecimal(exch.getBase()))。
}
 

3、コール

@コントローラ
@RequestMapping(値 = "/ dataDict" パブリック クラスDataDictController {

    @Autowired
    プライベート DataDictionaryService dataDictionaryService。

説明:インターフェースは2つの実装クラス、実装クラスの後のコメントで@Service(「dataDictionaryService」)説明引用符を追加する必要があるときにコントローラが呼び出したときに、属性名は引用符で名前と一致する必要があります、または豆は、実装クラスが作成された識別できませんでした。

実際には、次のように与えられたがコンパイルされます。

 

 

それは自動的に装着することができません。豆の「DataDictionaryService」複数のタイプ。

豆:

dataDictionaryCache(dataDictionaryCacheた.java)

dataDictionaryServiceImpl(dataDictionaryServiceImplた.java)

おすすめ

転載: www.cnblogs.com/vole/p/12166225.html
おすすめ