SpringBoot整合Redis SpringBoot整合Redis的步骤
李国栋 人气:01.添加配置文件:
- Redis.properties
# 配置单台redis服务器 redis.host=192.168.126.129 ip地址 redis.port=6379 端口号
- 设置配置类:
RedisConfig
2.将对象转化为Json格式入门案例
API: MAPPER.writeValueAsString(itemDesc);
3.将对象转化为Json格式格式优化
4.AOP实现Redis缓存
AOP实现Redis
@cacheFind()注解
实现策略:
A.需要自定义注解CacheFind
B.设定注解的参数 key的前缀 数据的超时的时间
C.在方法中标识注解,
D.利用aop拦截指定的注解
E.使用环绕通知 around通知 实现缓存业务
方式一
编辑自定义注解:
1.CacheFind
2.在方法上标识注解
3.在aop上面拦截注解(切入点表达式)_CacheAOP
方式二 优化
现有代码存在的问题
如果直接将缓存业务,写到业务层,如果将来的缓存代码发生变化,则代码耦合高
如果其他的业务也需要,必然重写编辑代码,发效率低
AOP概念:
AOP--面向切面编程,通过预编译和运行期间 动态代理;降低耦合性
提高程序的重用性,同时提高开发效率;
3.AOP实现的具体步骤:
公式 AOP(切面)=通知方法+切入点表达式
五种通知方法:
1.before
在执行目标方法之前执行
2.after
在执行目标方法之后执行
3.afterReturning
在目标方法执行之后报错时执行
4.afterThrowing
无论什么时候程序执行完成,都要执行的通知
5.around ___功能最强大的
环绕通知 在目标方法执行前,后执行
可以控制目标方法是否执行 可以控制程序执行的轨迹;
注:
前面4中通知不能控制目标放啊是否执行,一般用来记录程序的执行状态;一般应用于监控操作只用于做记录的
四种切入点表达式:
- bean ("bean的id")
粒度:按Bean匹配(就是实例化的兑现)当前bean中的方法都会执行通知 ___粗粒度
- within ("包名.类名") ___粗粒度
可以匹配多个类用通配符*
- execution ("返回值类型 包名.类名.方法名(参数列表)")
细粒度 方法参数级别
- @annotation ("包名.类名")
细粒度 安装注解匹配
加载全部内容