Spring Boot数据缓存之Spring数据缓存 @Cacheable初体验
在数据缓存之Cache规范JSR107中对Spring的缓存抽象有了一定的了解,下面通过示例实战对其深入探讨。需要注意的是使用Spring缓存抽象时要关注两点:
① 确定那些方法需要被缓存
② 缓存策略
具体案例如下:
1、导入依赖Mysql、Mybatis、Web模块
其中下图中依赖必备,否则关于mybatis相关内容报错
2、搭建环境数据库表及对应实体(不详述)
3、数据库配置等
4、使用注解版Mybatis:使用@MapperScan指定mapper接口所在的包——这个就使用了第一个图中的第一个依赖。
5、后续就是web开发的具体操作(参考Spring MVC快速搭建),其中数据库的访问使用了mybatis(参考四、MyBatis注解开发)。
测试:访问请求localhost:8080/emp/1
可以看出其访问了数据库,如果不添加缓存处理再次提交请求还是会访问数据库,如下:
添加缓存后:
测试结果一样,但是debug的结果就是不一样——不会再访问数据库。需注意缓存的添加必须上两图中绿色标注内容同时操作,否则不生效。
以上缓存的使用与Mybatis中的缓存的使用有何异同,又各具怎样的优劣呢?后续通过剖析相关源码深入了解。