当前位置: 首页 > news >正文

南宁网站开发招聘百度seo搜索引擎优化厂家

南宁网站开发招聘,百度seo搜索引擎优化厂家,中卫市网站开发制作,河南省建设网站首页文章目录 前言步骤测试结果 前言 通过Java–业务场景:在Spring项目启动时加载Java枚举类到Redis中,我们成功将Java项目里的枚举类加载到Redis中了,接下来我们只需要写接口获取需要的枚举值数据就可以了,下面一起来编写这个接口吧。 步骤 在…

文章目录

        • 前言
        • 步骤
        • 测试结果

前言
  • 通过Java–业务场景:在Spring项目启动时加载Java枚举类到Redis中,我们成功将Java项目里的枚举类加载到Redis中了,接下来我们只需要写接口获取需要的枚举值数据就可以了,下面一起来编写这个接口吧。
步骤
  1. 在EnumService接口创建一个方法,负责查询枚举类的值。

    public interface EnumService {/*** 获取枚举类* 支持通过field模糊查询* * @param field redis hash 存储中 的 field(HashMap中的key)* @return 枚举类*/Map<String, List<EnumDto>> getEnumValues(String field);//其他方法....
    }
    
  2. 在EnumServiceImpl中实现getEnumValues方法。

    @Service
    @Slf4j
    public class EnumServiceImpl implements EnumService {@Autowiredprivate RedisOperation redisOperation;@Overridepublic Map<String, List<EnumDto>> getEnumValues(String field) {Map<String, List<EnumDto>> returnObj = new HashMap<>();Map<Object, Object> obj;if (StringUtils.isBlank(field)) {//获取所有枚举类的信息obj = redisOperation.hgetAll(RedisKeyConstant.SYSTEM_ENUMS_CACHE_KEY);} else {//下面是针对需要进行模糊匹配进行的查询obj = redisOperation.hscan(RedisKeyConstant.SYSTEM_ENUMS_CACHE_KEY, field);}obj.forEach((redisKey, val) ->returnObj.put((String) redisKey, (ArrayList) val));return returnObj;}
    }
    
  3. 下面给出EnumServiceImpl中出现的一些RedisOperation中的方法代码

    @Slf4j
    @Component
    public final class RedisOperation {private RedisTemplate<String, Object> redisTemplate;public RedisOperation(RedisTemplate<String, Object> redisTemplate) {this.redisTemplate = redisTemplate;}/*** 返回哈希表 key 中,所有的域和值*/public Map<Object, Object> hgetAll(String key) {return redisTemplate.opsForHash().entries(key);}/*** 针对HashKey进行  field 的模糊匹配** @param key   redis的HashKey  精确匹配* @param field reidis 的HashKey中的 field 类似于java中的HashMap中的key* @return 根据精确匹配key 和 模糊匹配 field 获取存储在redis中 的 HashMap*/public Map<Object, Object> hscan(String key, String field) {Cursor<Map.Entry<Object, Object>> cursor = null;Map<Object, Object> map = new HashMap<>();try {cursor = redisTemplate.opsForHash().scan(key, ScanOptions.scanOptions().count(Integer.MAX_VALUE).match("*" + field + "*").build());while (cursor.hasNext()) {Map.Entry<Object, Object> entry = cursor.next();map.put(entry.getKey(), entry.getValue());}return map;} catch (Exception e) {log.error("redis模糊查询获取 HashMap error!", e);} finally {if (null != cursor) {cursor.close();}}return map;}//其他方法...
    }
    
  4. 在Controller里定义接口,还记得EnumInterface接口里的enumDesc()方法吧,它返回了我们定义的枚举类描述值,我们可以通过这个描述来作为下面接口的field属性,进行模糊查询。

    @RestController
    @RequestMapping("/part/util")
    public class UtilController {@Autowiredprivate EnumService enumService;@ApiOperation("获取JAVA枚举值列表")@GetMapping("/getEnumValues")public Result getEnumValues(@ApiParam(name = "field", value = "field(HashMap中的key)") @RequestParam(value = "field") String field) {return Result.ok().data(enumService.getEnumValues(field));}
    }
    
测试结果
  1. 采用postman测试结果,当输入的field为空时,返回所有枚举值:

在这里插入图片描述2. 当输入的field不为空,根据field进行模糊查询,返回结果:
在这里插入图片描述

http://www.ds6.com.cn/news/77743.html

相关文章:

  • 东莞土木建筑学会网站刘连康seo培训哪家强
  • 网站备案 中国网络营销推广方式包括哪几种
  • 做网站哪家好seo培训师
  • 武汉市内做网站的公司网络推广运营主要做什么
  • 优化网站关键词排名软件长沙自动seo
  • 宁波做网站 主觉文化怎么宣传自己的产品
  • 案例学——网页设计与网站建设百度一下百度官网
  • 宁波网站建设费用seo快速排名软件首页
  • 建筑网排焊机汕头seo公司
  • 企业网站推广可以选择哪些方法?手机最新产品新闻
  • 重庆公司团建推荐seo经典案例分析
  • 微信网站建设平台搜索引擎优化方式
  • 北京有一个公司打电话做网站认证推广方法
  • 土特产网站模板网站友链交换平台
  • 怎么做淘宝客的网站网络营销教材电子版
  • 学校网站建设 论文呢合肥网站关键词优化公司
  • 网站能带来什么爱站网seo培训
  • 河北网站制作公司哪家专业刷评论网站推广
  • 伙购网官方网站网络推广项目外包公司
  • 注册公司需要登录的网址seo教程技术
  • 长沙seo优化方案seo搜索引擎优化是做什么的
  • ps做网站 大小百度竞价排名多少钱
  • 金沙县建设局网站谷歌外贸网站
  • 深圳做网站制作网络营销策划方案怎么写
  • 武汉市人民政府研究室优化大师怎么提交作业
  • 北京网站怎么优化图片搜索图片识别
  • 网站举报平台建设情况公司网站如何推广
  • 祥云网站建设公司 概况2023全民核酸又开始了
  • 开通独立网站推广广告
  • 徐州网站建设价格网站开发流程图