上面这串代码的问题在于:入参不固定、返回值也不固定,如果仅仅是参数不固定,使用泛型即可。但最关键的是查询方法也是不固定的,比如查询商品和查询用户肯定不是一个查询方法吧。
所以如果我们可以把一个方法(即上面的各种查询方法)也能当做一个参数传入一个统一的判断方法就好了,类似于:
在Java中有一个package:java.util.function,里面全部是接口,并且都被@FunctionalInterface注解所修饰。
Function分类
具体我就不在赘述了,可以参考:Java函数式编程梳理
那么接下来就来使用Java优雅的实现先查询缓存再查询数据库吧!
pom.xml
其中CacheService是从缓存中查询数据,GoodsService是从数据库中查询数据
java怎么学习?java怎么入门?java在哪学?java怎么学才快?不用担心,这里为大家提供了java速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
THE END