策略模式:定義一組演算法,將每個演算法都封裝起來,相互之間可以互換。
策略模式需要乙個抽象演算法介面,一組演算法,乙個容器類(context)
假設我們有乙個場景:根據傳值type的不同,呼叫不同的介面(加減乘除)
抽象演算法介面:
public inte***ce izstrategy
演算法1:
@slf4j
@component
public class zaddstrategy implements izstrategy
}
演算法2:
@slf4j
@component
public class zsubstractstrategy implements izstrategy
}
列舉型別:(方便呼叫)
public enum zstrategyenum
}zstrategyenum(string type, string bean)
public string gettype()
public void settype(final string type)
public string getbean()
public void setbean(final string bean)
/*** 根據傳的type返回bean
* @param type
* @return
*/public static string getbeanbytype(final string type)
}
容器類(context):
@slf4j
@service
public class zstrategycontext
@sneakythrows
public izstrategy getstrategy(final string type)else
}}
到此我們的策略模式就寫完了。來看看具體實現
業務介面
public inte***ce imodelservice
介面實現
@service
public class modelserviceimpl implements imodelservice
}
Spring Boot中使用MongoDB資料庫
前段時間分享了關於spring boot中使用redis的文章,除了redis之後,我們在網際網路產品中還經常會用到另外一款著名的nosql資料庫mongodb。下面就來簡單介紹一下mongodb,並且通過乙個例子來介紹spring boot中對mongodb訪問的配置和使用。mongodb是乙個基...
Spring Boot中使用MongoDB資料庫
前段時間分享了關於spring boot中使用redis的文章,除了redis之後,我們在網際網路產品中還經常會用到另外一款著名的nosql資料庫mongodb。下面就來簡單介紹一下mongodb,並且通過乙個例子來介紹spring boot中對mongodb訪問的配置和使用。mongodb是乙個基...
SpringBoot中使用日誌
結果 所有配置檔案都會被載入,高優先順序的配置檔案會覆蓋低優先順序的配置檔案 springboot 底層是spring框架,spring框架預設是用jcl springboot選用slf4j和logback作為日誌框架 如何使用slf4j import org.slf4j.logger import...