您的位置:首页 > 教育 > 锐评 > 泉州网站制作案例_建设部中国建造师网查询_深圳市seo点击排名软件价格_百度贴吧首页

泉州网站制作案例_建设部中国建造师网查询_深圳市seo点击排名软件价格_百度贴吧首页

2025/12/26 10:14:20 来源:https://blog.csdn.net/weixin_43741322/article/details/143333936  浏览:    关键词:泉州网站制作案例_建设部中国建造师网查询_深圳市seo点击排名软件价格_百度贴吧首页
泉州网站制作案例_建设部中国建造师网查询_深圳市seo点击排名软件价格_百度贴吧首页

介绍一下,代理模式。
其实代理模式是我们最常用的,在任何框架中几乎都离不开代理模式的应用。
话不多说,直接上一个代码理解一下。

定义一个controller层。

    private final CacheUserServiceImpl cacheUserService;/*** 代理模式* @return*/@GetMapping("/proxyMode")public ResponseResult proxyMode(){// 使用你代理客户端ResponseResult currentUserInfo = cacheUserService.getCurrentUserInfo();return currentUserInfo;}	

定义一个serviceimpl实现userService接口。

@Service
@RequiredArgsConstructor(onConstructor = @__(@Autowired))
public class CacheUserServiceImpl implements UserService {private RedisService  redisService;private UserServiceImpl  userService;@Overridepublic ResponseResult getCurrentUserInfo() {Object o = redisService.getRedisTemplate().opsForValue().get("userKey");//  先查缓存,查不到,在查user数据库接口。if (o != null){return ResponseResult.success(o);}else {ResponseResult currentUserInfo = userService.getCurrentUserInfo();return currentUserInfo;}}
}

看一下原本的userService的 实现类

@Service
@RequiredArgsConstructor(onConstructor = @__(@Autowired))
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {@Overridepublic ResponseResult getCurrentUserInfo() {return ResponseResult.success("获取当前登录用户信息成功", baseMapper.getById(StpUtil.getLoginIdAsString()));}
}

这样我们就实现了一个最简单的代理。
我们现在只需要直接调用代理类:CacheUserServiceImpl。就可以实现userService的所有功能。

一般来说我们基于上面的思想,再结合 AOP 机制 和 自定义注解,再完善完善,其实你就实现了大名鼎鼎的springCache功能了。 哈哈哈😀😀😀

转自我的博客:http://he-bi.cn/#/article/214

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com