婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識(shí)庫 > 嵌入式Redis服務(wù)器在Spring Boot測試中的使用教程

嵌入式Redis服務(wù)器在Spring Boot測試中的使用教程

熱門標(biāo)簽:十堰營銷電銷機(jī)器人哪家便宜 鄭州人工智能電銷機(jī)器人系統(tǒng) 宿遷便宜外呼系統(tǒng)平臺(tái) 日本中國地圖標(biāo)注 貴州電銷卡外呼系統(tǒng) 超呼電話機(jī)器人 魔獸2青云地圖標(biāo)注 北京400電話辦理收費(fèi)標(biāo)準(zhǔn) 山東外呼銷售系統(tǒng)招商

1、概述

Spring Data Redis提供了一種與Redis實(shí)例集成的簡單方法。

但是,在某些情況下,使用嵌入式服務(wù)器比使用真實(shí)服務(wù)器創(chuàng)建開發(fā)和測試環(huán)境更方便。

因此,我們將學(xué)習(xí)如何設(shè)置和使用嵌入式Redis服務(wù)器。

2、依賴

讓我們首先添加必要的依賴項(xiàng):

dependency>
  groupId>org.springframework.boot/groupId>
  artifactId>spring-boot-starter-data-redis/artifactId>
/dependency>

dependency>
  groupId>it.ozimov/groupId>
  artifactId>embedded-redis/artifactId>
  version>0.7.2/version>
  scope>test/scope>
/dependency>

dependency>
  groupId>org.springframework.boot/groupId>
  artifactId>spring-boot-starter-test/artifactId>
  scope>test/scope>
/dependency>

這個(gè)spring-boot-starter-test包含我們需要運(yùn)行集成測試的各種依賴。

此外,embedded-redis包含我們將使用的嵌入式服務(wù)器。

3、設(shè)置

添加依賴項(xiàng)后,我們應(yīng)該定義Redis服務(wù)器和我們的應(yīng)用程序之間的連接設(shè)置。

讓我們首先創(chuàng)建一個(gè)類來保存我們的屬性:

@Configuration
public class RedisProperties {
    private int redisPort;
    private String redisHost;

    public RedisProperties(
      @Value("${spring.redis.port}") int redisPort, 
      @Value("${spring.redis.host}") String redisHost) {
        this.redisPort = redisPort;
        this.redisHost = redisHost;
    }

    // getters
}

接下來,我們應(yīng)該創(chuàng)建一個(gè)配置類來定義連接并使用我們的屬性:

@Configuration
@EnableRedisRepositories
public class RedisConfiguration {

    @Bean
    public LettuceConnectionFactory redisConnectionFactory(
      RedisProperties redisProperties) {
        return new LettuceConnectionFactory(
          redisProperties.getRedisHost(), 
          redisProperties.getRedisPort());
    }

    @Bean
    public RedisTemplate?, ?> redisTemplate(LettuceConnectionFactory connectionFactory) {
        RedisTemplatebyte[], byte[]> template = new RedisTemplate>();
        template.setConnectionFactory(connectionFactory);
        return template;
    }
}

配置非常簡單。這樣我們的嵌入式服務(wù)器可以在其他的端口上運(yùn)行。

4、嵌入式Redis服務(wù)器

現(xiàn)在,我們將配置嵌入式服務(wù)器并在我們的一項(xiàng)測試中使用它。

首先,讓我們在測試的資源目錄(src/test/resources)中創(chuàng)建一個(gè)application.properties文件:

spring.redis.host=localhost
spring.redis.port=6370

之后,我們將創(chuàng)建一個(gè)@TestConfiguration注解的配置類:

@TestConfiguration
public class TestRedisConfiguration {

    private RedisServer redisServer;

    public TestRedisConfiguration(RedisProperties redisProperties) {
        this.redisServer = new RedisServer(redisProperties.getRedisPort());
    }

    @PostConstruct
    public void postConstruct() {
        redisServer.start();
    }

    @PreDestroy
    public void preDestroy() {
        redisServer.stop();
    }
}

當(dāng)context上下文啟動(dòng),服務(wù)器就跟著啟動(dòng)。它根據(jù)我們在屬性中定義的端口運(yùn)行在我們的機(jī)器上。有了它,我們現(xiàn)在可以在不停止實(shí)際Redis服務(wù)器的情況下運(yùn)行測試了。

理想情況下,我們希望在隨機(jī)可用端口上啟動(dòng)它,但嵌入式Redis尚不具備此功能。我們現(xiàn)在可以做的是通過ServerSocket API 獲取隨機(jī)端口。

此外,當(dāng)上下文停止,服務(wù)器也跟著停止。

服務(wù)器也可以由我們自己的可執(zhí)行文件來提供:

this.redisServer = new RedisServer("/path/redis", redisProperties.getRedisPort());

此外,可執(zhí)行文件可以按不同的操作系統(tǒng)來定義:

RedisExecProvider customProvider = RedisExecProvider.defaultProvider()
.override(OS.UNIX, "/path/unix/redis")
.override(OS.Windows, Architecture.x86_64, "/path/windows/redis")
.override(OS.MAC_OS_X, Architecture.x86_64, "/path/macosx/redis");

this.redisServer = new RedisServer(customProvider, redisProperties.getRedisPort());

最后,讓我們創(chuàng)建一個(gè)使用TestRedisConfiguration類的測試吧:

@RunWith(SpringRunner.class)
@SpringBootTest(classes = TestRedisConfiguration.class)
public class UserRepositoryIntegrationTest {

    @Autowired
    private UserRepository userRepository;

    @Test
    public void shouldSaveUser_toRedis() {
        UUID id = UUID.randomUUID();
        User user = new User(id, "name");

        User saved = userRepository.save(user);

        assertNotNull(saved);
    }
}

這樣用戶保存就到了我們的嵌入式Redis服務(wù)器。

此外,我們必須手動(dòng)將TestRedisConfiguration添加到SpringBootTest。正如我們之前所說,服務(wù)器在測試之前啟動(dòng)并在測試之后停止。

5、結(jié)論

嵌入式Redis服務(wù)器是在測試環(huán)境中替換實(shí)際服務(wù)器的完美工具。我們已經(jīng)看到了如何配置它以及如何在我們的測試中使用它。

到此這篇關(guān)于嵌入式Redis服務(wù)器在Spring Boot測試中的使用的文章就介紹到這了,更多相關(guān)Redis Spring Boot使用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • springboot2整合redis使用lettuce連接池的方法(解決lettuce連接池?zé)o效問題)
  • 基于SpringBoot2.0默認(rèn)使用Redis連接池的配置操作
  • SpringBoot中使用Redis的完整實(shí)例
  • springboot+redis過期事件監(jiān)聽實(shí)現(xiàn)過程解析
  • Spring boot+redis實(shí)現(xiàn)消息發(fā)布與訂閱的代碼
  • SpringBoot結(jié)合Redis哨兵模式的實(shí)現(xiàn)示例

標(biāo)簽:江蘇 大慶 朝陽 楊凌 吉安 果洛 北京 臺(tái)州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《嵌入式Redis服務(wù)器在Spring Boot測試中的使用教程》,本文關(guān)鍵詞  嵌入式,Redis,服務(wù)器,在,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《嵌入式Redis服務(wù)器在Spring Boot測試中的使用教程》相關(guān)的同類信息!
  • 本頁收集關(guān)于嵌入式Redis服務(wù)器在Spring Boot測試中的使用教程的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    久久国产精品99久久人人澡| 久久国产精品色婷婷| 婷婷夜色潮精品综合在线| 欧美日韩综合在线| 国产精品毛片高清在线完整版| 精品欧美一区二区三区精品久久| 亚洲天天做日日做天天谢日日欢| 国产乱码精品一区二区三| 欧美精品一区二区高清在线观看| 国产成人精品一区二区三区四区| 亚洲色图欧美激情| 97久久精品人人做人人爽| 国产精品萝li| 色婷婷av一区二区三区软件| 奇米色777欧美一区二区| 日韩片之四级片| 丁香婷婷综合激情五月色| 一区二区三区国产精华| 欧美怡红院视频| 亚洲欧美日韩国产综合在线| 欧美美女bb生活片| 久久电影国产免费久久电影| 亚洲欧美日韩国产另类专区| 欧美午夜影院一区| 国产成人精品三级麻豆| 亚洲国产综合人成综合网站| 国产区在线观看成人精品| 欧美日韩国产区一| 成人精品gif动图一区| 偷窥少妇高潮呻吟av久久免费| 日本一区二区三区高清不卡| 69堂成人精品免费视频| 99在线精品一区二区三区| 日本不卡视频在线| 国产精品视频一二三区| 制服丝袜成人动漫| 成人精品国产福利| 国产一区日韩二区欧美三区| 亚洲色图丝袜美腿| 日韩视频永久免费| 97精品久久久午夜一区二区三区| 天天综合日日夜夜精品| 亚洲精品欧美二区三区中文字幕| 欧美va日韩va| 91精品国产综合久久精品app| 国产成人午夜99999| 日韩制服丝袜av| 亚洲美女在线国产| 中文字幕在线一区| 久久精品一区二区| 久久久久久久久久久久久夜| 一本大道久久a久久综合婷婷| 国产精品中文字幕欧美| 午夜影院久久久| 亚洲国产精品一区二区www | 欧美日韩在线不卡| gogogo免费视频观看亚洲一| 人人爽香蕉精品| 亚洲成人在线免费| 亚洲男同性视频| 中文字幕欧美日韩一区| 欧美国产日韩精品免费观看| 国产午夜亚洲精品羞羞网站| 久久天天做天天爱综合色| 91麻豆精品国产91久久久| 欧美精品丝袜中出| 色网综合在线观看| 一本到高清视频免费精品| 色综合视频在线观看| 国产成人在线看| 精品一区二区三区av| 精品一区二区三区视频 | 色婷婷综合久色| 日本亚洲视频在线| 轻轻草成人在线| 性做久久久久久久久| 日日噜噜夜夜狠狠视频欧美人| 亚洲福利一二三区| 日本aⅴ亚洲精品中文乱码| 麻豆精品一区二区三区| 亚洲丰满少妇videoshd| 亚洲午夜影视影院在线观看| 亚洲成人www| 亚洲韩国精品一区| 蜜桃视频一区二区三区在线观看| 日本不卡1234视频| 国产精品一区二区男女羞羞无遮挡| 精品亚洲欧美一区| 国产91精品精华液一区二区三区| 国产成人精品免费看| 顶级嫩模精品视频在线看| 91在线视频在线| 日本黄色一区二区| 777亚洲妇女| www亚洲一区| ㊣最新国产の精品bt伙计久久| 国产精品视频在线看| 亚洲一区二区在线视频| 亚洲观看高清完整版在线观看| 日本不卡123| 懂色一区二区三区免费观看| 在线视频观看一区| 欧美va亚洲va在线观看蝴蝶网| 国产精品电影一区二区| 国产精品第一页第二页第三页| 亚洲最大成人综合| 久久精品999| 色综合天天做天天爱| 欧美亚洲动漫制服丝袜| 日韩视频在线你懂得| 国产精品久久久久久亚洲伦| 婷婷国产v国产偷v亚洲高清| 国产凹凸在线观看一区二区| 欧美婷婷六月丁香综合色| 精品免费日韩av| 亚洲欧美日韩在线| 久久精品国产第一区二区三区| 成人福利电影精品一区二区在线观看 | 一区二区在线观看免费视频播放| 视频一区中文字幕国产| 国产精品一卡二卡在线观看| 在线看不卡av| 欧美激情综合网| 奇米综合一区二区三区精品视频| av色综合久久天堂av综合| 91精品国产全国免费观看| 中文字幕在线视频一区| 日韩极品在线观看| 在线一区二区三区做爰视频网站| 欧美一区二区三区视频免费| 国产精品成人免费精品自在线观看 | 一区二区三区在线观看网站| 国产一区视频网站| 欧美狂野另类xxxxoooo| 亚洲色图制服诱惑| 国产成a人亚洲| 日韩免费成人网| 亚洲成av人片一区二区梦乃| 91丝袜美腿高跟国产极品老师| 久久一区二区视频| 免费国产亚洲视频| 欧美色涩在线第一页| 中文字幕一区二区三中文字幕| 激情小说亚洲一区| 91精品国产综合久久精品麻豆| 亚洲国产一区二区视频| 99精品久久99久久久久| 国产欧美日韩三区| 国产乱国产乱300精品| 欧美一级久久久久久久大片| 午夜电影一区二区| 欧美亚州韩日在线看免费版国语版| 国产精品国产三级国产aⅴ中文| 国产乱妇无码大片在线观看| 久久久亚洲高清| 久久超碰97人人做人人爱| 欧美一区二区免费视频| 日韩在线一区二区三区| 6080国产精品一区二区| 亚洲第一搞黄网站| 欧美男同性恋视频网站| 性欧美大战久久久久久久久| 欧美日韩一区 二区 三区 久久精品| 亚洲激情男女视频| 在线观看日韩高清av| 一卡二卡三卡日韩欧美| 91国产免费看| 亚洲国产一区二区视频| 欧美日韩高清一区二区| 日韩在线卡一卡二| 日韩欧美美女一区二区三区| 蜜桃久久久久久久| 精品国偷自产国产一区| 国产伦精品一区二区三区在线观看 | 石原莉奈在线亚洲三区| 欧美精品高清视频| 青青草国产精品亚洲专区无| 日韩欧美区一区二| 国产一区 二区| 国产精品无遮挡| 91丝袜美腿高跟国产极品老师| 亚洲美女偷拍久久| 欧美性猛交xxxx乱大交退制版| 天堂午夜影视日韩欧美一区二区| 欧美男人的天堂一二区| 久久成人精品无人区| 国产精品蜜臀av| 欧美性做爰猛烈叫床潮| 久久成人免费网| 亚洲欧美综合色| 欧美美女网站色| 国产一区 二区| 亚洲男人的天堂在线aⅴ视频 | 欧美午夜精品免费| 日韩激情中文字幕| 欧美激情中文字幕一区二区| 在线视频中文字幕一区二区| 天堂久久一区二区三区| 精品成人一区二区三区| 成人h动漫精品|