方法不一,思路差不多,实现也不尽相同
列出主流方法和自己尝试过的方法
1.自定义注解
网上说的都比较明白,这里给出看过写的比较清晰的两篇参考
如何在Spring Boot项目中巧妙利用策略模式干掉if else!
这两篇用例都比较清晰,都是基于注解的
2.@PostStruct
关于PostStruct注解的具体信息我也不尽相知,大可搜索栏百度搜索
这里只列出自己的使用
- 先定义业务接口IXXXService,实现类XXXServiceImpl
- 在实现类中定义一个策略类列表
- 定义一个DataProvider抽象类
这里使用到了@PostStruct注解,作用是在服务部署时,搜索DataProvider的实现类(子类),注册进那个列表中
- 定义DataProvider的实现
应用场景正常使用业务接口中的列表DATA_PROVIDER_LIST即可
借物表: