日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

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

瀏覽:20日期:2023-06-30 18:21:15
1、概述

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

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

因此,我們將學習如何設置和使用嵌入式Redis服務器。

2、依賴

讓我們首先添加必要的依賴項:

<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>

這個spring-boot-starter-test包含我們需要運行集成測試的各種依賴。

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

3、設置

添加依賴項后,我們應該定義Redis服務器和我們的應用程序之間的連接設置。

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

@Configurationpublic 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}

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

@Configuration@EnableRedisRepositoriespublic class RedisConfiguration { @Bean public LettuceConnectionFactory redisConnectionFactory( RedisProperties redisProperties) {return new LettuceConnectionFactory( redisProperties.getRedisHost(), redisProperties.getRedisPort()); } @Bean public RedisTemplate<?, ?> redisTemplate(LettuceConnectionFactory connectionFactory) {RedisTemplate<byte[], byte[]> template = new RedisTemplate<>();template.setConnectionFactory(connectionFactory);return template; }}

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

4、嵌入式Redis服務器

現在,我們將配置嵌入式服務器并在我們的一項測試中使用它。

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

spring.redis.host=localhostspring.redis.port=6370

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

@TestConfigurationpublic 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(); }}

當context上下文啟動,服務器就跟著啟動。它根據我們在屬性中定義的端口運行在我們的機器上。有了它,我們現在可以在不停止實際Redis服務器的情況下運行測試了。

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

此外,當上下文停止,服務器也跟著停止。

服務器也可以由我們自己的可執(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)建一個使用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服務器。

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

5、結論

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

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

標簽: Spring
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
亚洲黄色网址| 国产白浆在线免费观看| 免费成人网www| 在线天堂中文资源最新版| 久久久精品国产**网站| 日韩高清三区| 亚洲影院天堂中文av色| 日本亚洲视频| 久久精品超碰| 精品一区二区三区亚洲| 国产一区二区精品久| 日韩有吗在线观看| 7777精品| 国产精品jk白丝蜜臀av小说| 久久成人av| 色婷婷综合网| 久久激情网站| 亚洲免费中文| 日韩精品免费一区二区夜夜嗨| 国产欧美亚洲精品a| 国产精品1区在线| 国产精品成人a在线观看| 日韩在线观看一区| 亚州av乱码久久精品蜜桃| 中文亚洲免费| 日韩国产欧美在线播放| 欧美片第1页综合| 国语精品一区| 欧美一区三区| 亚洲日本久久| 美女尤物国产一区| 欧洲av不卡| 亚洲激情国产| 人人精品久久| 国产一区2区| 一区在线免费| 日韩国产在线观看| 韩国女主播一区二区三区| 亚洲婷婷在线| 天堂俺去俺来也www久久婷婷| 国产日韩欧美中文在线| 欧美激情一区| 99久久久久国产精品| 亚洲欧美日韩专区| 欧美日韩中出| 成人日韩在线| 在线一区二区三区视频| 欧美激情五月| 99热精品久久| 日韩精品亚洲专区在线观看| 精品视频网站| 麻豆91精品| 精品国产亚洲一区二区三区在线 | 日韩一区二区三区免费| 天堂av在线一区| 国产亚洲久久| 亚洲手机在线| 国产精品1区| 午夜国产一区二区| 国产精品久久久久久久久久久久久久久 | 日本亚洲三级在线| 精品黄色一级片| 亚洲深夜影院| 日韩不卡一区| 婷婷精品在线| 久久久久国产一区二区| 欧美日韩一区二区高清| 久久久久91| 国产精品视频3p| 99国产精品久久久久久久成人热| 国产精品chinese| 天使萌一区二区三区免费观看| 国产91在线播放精品| 亚洲精品免费观看| 色偷偷色偷偷色偷偷在线视频| 视频精品一区| 欧美日韩国产高清电影| 精品美女在线视频| 日韩高清不卡一区二区| 亚洲激情精品| 亚洲成人不卡| 久久精品国产在热久久| 亚洲3区在线| 婷婷激情图片久久| 水蜜桃久久夜色精品一区| 天堂久久av| 性欧美长视频| 欧美日韩在线网站| 色一区二区三区四区| 欧美日韩a区| 亚洲综合日韩| av高清一区| 国产精品99在线观看| 久久精品999| 午夜电影一区| 人人爽香蕉精品| 亚洲成人精品| 国产在线看片免费视频在线观看| 国产欧美自拍一区| 亚洲精品免费观看| 国产精品视区| 欧美福利一区| 久久精品亚洲欧美日韩精品中文字幕| 麻豆国产精品一区二区三区| 国产视频网站一区二区三区| av不卡在线看| 婷婷激情综合| 久久亚洲专区| 麻豆精品蜜桃| 伊人久久在线| 麻豆视频在线观看免费网站黄 | 欧美理论视频| 欧美日韩在线二区| 色老板在线视频一区二区| 欧美激情国产在线| 成人在线黄色| 久久97视频| 成人午夜网址| 超碰在线99| 在线手机中文字幕| 伊人久久av| 午夜精品久久久久久久久久蜜桃| 中文在线а√在线8| 国产成人a视频高清在线观看| 精品日产乱码久久久久久仙踪林| 久久精品免费看| 久久久久久婷| se01亚洲视频| 激情婷婷综合| 好吊一区二区三区| 国产综合视频| 香蕉精品久久| 偷拍欧美精品| 男人的天堂亚洲一区| 亚洲精品一级二级三级| 日韩高清国产一区在线| 国产精品麻豆成人av电影艾秋| 国产精品伊人| 成人在线免费观看网站| 中文字幕系列一区| 欧美va天堂在线| 99热精品久久| 日韩精品一级二级| 国产午夜久久av| 高清一区二区三区av| 欧洲一区二区三区精品| 免费在线小视频| 亚洲精品小说| 亚洲精品日韩久久| 国产精品啊啊啊| 91一区二区三区四区| 久久亚洲国产| 三级久久三级久久久| 国产精品红桃| 亚洲三级欧美| 性欧美长视频| 国产精品巨作av| 日韩欧美综合| 久久av一区| 国产精品多人| 国产中文在线播放| 亚洲一区免费| 日韩中文av| 国产精品久久久久久久久久10秀 | 不卡福利视频| 亚洲在线电影| 国产毛片精品| 亚洲黄色免费av| 国产精品视区| 国产精品2023| 999久久久91| 亚洲精品视频一二三区| 精品久久中文| 午夜精品免费| 欧美日本不卡| 日韩在线第七页| 日本大胆欧美人术艺术动态| 麻豆一区二区99久久久久| 亚洲二区精品| 欧美日韩亚洲三区| 99成人超碰| 久久国产日韩欧美精品| 亚洲va中文在线播放免费| 一区二区电影| 日韩电影免费网站| 亚洲免费资源| 欧洲精品一区二区三区| 亚洲美女久久| 日韩久久精品| 日韩黄色在线观看| 日韩视频网站在线观看| 一本综合精品| а√天堂8资源在线| 欧美在线综合| 激情综合婷婷| 日韩高清二区| 国产在线成人| 麻豆传媒一区二区三区| 久久性天堂网| 日韩av一级|