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

网站建设要做哪些工作推广网站排名

网站建设要做哪些工作,推广网站排名,岳阳网站建设免费咨询,泰安泰斗网络科技有限公司文章目录 逻辑实现POM.xmlRedissionConfigRedissionPropertiesRedissionUtilsspring.factories 功能测试application.yml配置POM.xmlTestController运行测试 本章内容主要介绍如何通过封装相关的redission连接配置和工具类,最终完成一个通用的redission starter。并…

文章目录

    • 逻辑实现
      • POM.xml
      • RedissionConfig
      • RedissionProperties
      • RedissionUtils
      • spring.factories
    • 功能测试
      • application.yml配置
      • POM.xml
      • TestController
      • 运行测试

本章内容主要介绍如何通过封装相关的redission连接配置和工具类,最终完成一个通用的redission starter。并且本文还会进行对封装的starter进行引入测试,最终实现想要的效果。
参考文章: SpringBoot日常:自定义实现SpringBoot Starter

逻辑实现

下面直接进入主题,介绍整体用到的文件和逻辑内容。首先需要创建一个maven项目,这一步省略

POM.xml

在pom配置文件中引入自动加载和redssion的依赖

<dependencies><dependency><groupId>org.redisson</groupId><artifactId>redisson-spring-boot-starter</artifactId><version>3.17.7</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-configuration-processor</artifactId><optional>true</optional></dependency>
</dependencies>

RedissionConfig

创建一个RedissionConfig的配置连接类,主要是加载相关的redis配置并进行连接

@Configuration
@ConditionalOnClass(Redisson.class)
@EnableConfigurationProperties({RedissionProperties.class})
public class RedissionConfig {@BeanRedissonClient redissonClient(RedissionProperties redissionProperties) {Config config = new Config();String prefix = "redis://";if (redissionProperties.isSsl()) {//加密prefix = "rediss://";}config.useSingleServer().setAddress(prefix+redissionProperties.getHost()+":"+ redissionProperties.getPort()).setConnectTimeout(redissionProperties.getTimeOut()).setPassword(redissionProperties.getPassword());return Redisson.create(config);}
}

RedissionProperties

创建一个RedissionProperties的配置类,主要包括一些redis相关的连接配置

@ConfigurationProperties(prefix="xxx.redission")
public class RedissionProperties {/*** 连接地址*/private String host;/*** 连接端口号*/private int port;/*** 认证密码*/private String password;/*** 超时时间 默认0*/private int timeOut;public String getHost() {return host;}public void setHost(String host) {this.host = host;}public int getPort() {return port;}public void setPort(int port) {this.port = port;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}public int getTimeOut() {return timeOut;}public void setTimeOut(int timeOut) {this.timeOut = timeOut;}public boolean isSsl() {return isSsl;}public void setSsl(boolean ssl) {isSsl = ssl;}/*** 是否加密 默认不加密 false*/private boolean isSsl;
}

RedissionUtils

创建一个RedissionUtils的工具操作类,该工具类可以方便外部进行数据操作,本工具类并不完善,只有字符串的操作和锁操作,如需其他数据类型的操作,请自行补充

@Component
public final class RedissionUtils {@Autowiredprivate RedissonClient redissonClient;private static final long DEFAULT_GETLOCK_TIMEOUT = 5;public void set(String key, String vul) {redissonClient.getBucket(key).set(vul);}public Object get(String key) {return redissonClient.getBucket(key).get();}public String getString(String key) {RBucket<String> bucket = redissonClient.getBucket(key);return bucket.get();}public <T> void setAndExpire(String key, T value, long expiredTime) {RBucket<T> bucket = redissonClient.getBucket(key);bucket.set(value, expiredTime, TimeUnit.SECONDS);}/*** 获取锁* @param lockKey* @return*/public boolean getLock(String lockKey) {RLock rLock = redissonClient.getLock(lockKey);try {boolean res = rLock.tryLock(DEFAULT_GETLOCK_TIMEOUT,  TimeUnit.SECONDS);return res;} catch (Exception e) {e.printStackTrace();} finally {//无论如何, 最后都要解锁rLock.unlock();}return false;}/**** @param lockKey 锁的key* @param timeOut 获取锁的超时时间* @return*/public boolean getLock(String lockKey, long timeOut) {RLock rLock = redissonClient.getLock(lockKey);try {boolean res = rLock.tryLock(timeOut,  TimeUnit.SECONDS);return res;} catch (Exception e) {e.printStackTrace();} finally {//无论如何, 最后都要解锁rLock.unlock();}return false;}}

spring.factories

在resource/META-INF下需要创建一个自动装载配置文件spring.factories, 里面的内容如下,主要填写配置类和工具类的路径

org.springframework.boot.autoconfigure.EnableAutoConfiguration=\cn.cys.starter.redission.config.RedissionConfig,\cn.cys.starter.redission.utils.RedissionUtils

功能测试

完成逻辑实现以后,需要对上面的maven项目进行打包,再放入maven仓库(本地操作其实就是mvn install)
接着再创建一个maven项目,将redission starter引入,然后进行测试。具体的使用如下

application.yml配置

在application.yml填写相应的配置信息

xxx:redission:host: 192.168.110.110port: 6379password: CR2@wwqqsqsctimeOut: 5isSsl: false

POM.xml

pom文件引入redssion starter包

<dependency><groupId>cn.cys.easy.boot</groupId><artifactId>easy-redission-boot-starter</artifactId><version>1.0.0_base</version>
</dependency>

TestController

本文直接在controller进行引入操作测试

@RestController
public class TestController {@Autowiredprivate RedissionUtils redissonUtils;@GetMapping("/test")public void test() {redissonUtils.set("myname","lisi");System.out.println(redissonUtils.get("myname"));System.out.println(redissonUtils.getString("myname"));System.out.println("========test Redission start");}
}

运行测试

启动服务,调用接口查看
在这里插入图片描述

http://www.wangmingla.cn/news/92795.html

相关文章:

  • wordpress和网站区别磁力狗bt
  • 网站后台 源码东莞关键词优化平台
  • 便宜做网站怎么样代写文案平台
  • 网站优化哪家最专业app推广拉新一手渠道代理
  • 做商城网站外包制作网站要多少费用
  • wordpress可以制作什么网站吗西安网站建设公司排行榜
  • 哪些网站可以做淘宝客山西百度查关键词排名
  • 云之创网站建设中文域名注册
  • 成都网站建设公优秀软文范例800字
  • 网站的建设费 账务处理seo分析
  • 昆明企业网站建设公司企业品牌推广方案
  • 网站建设需求有什么用详细描述如何进行搜索引擎的优化
  • flash cs3网站建设从入门到精通网站开发教程
  • 新网站排名优化微信广告推广价格表
  • wordpress口令查看内容优化关键词哪家好
  • 网站建设推荐网络营销网
  • 单页网站制作视频教程吉林刷关键词排名优化软件
  • 网站设计公司长沙公司合肥seo服务商
  • 外贸网络营销实战外链seo
  • 建设网站服务器端环境要求简单网站建设优化推广
  • 做包装的网站有哪些百度自己的宣传广告
  • 专业做网站的今日国内重大新闻事件
  • 品牌网站设计制作哪家正规yahoo搜索引擎入口
  • 怎样做网站操作向导企业网站推广注意事项
  • 有专门做英文字幕的网站吗汽车网络营销的方式有哪些
  • iis 配置网站详解seo的培训网站哪里好
  • 郑州做网站公司有哪些爱站网官网关键词
  • 山东住房与城乡建设网站优化关键词排名
  • 怎么看网站是否是div cssseo怎样才能优化网站
  • 查网站是不是用shopify做的新东方小吃培训价格表