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

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

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

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

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

但是,在某些情況下,使用嵌入式服務器比使用真實服務器創建開發和測試環境更方便。

因此,我們將學習如何設置和使用嵌入式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服務器和我們的應用程序之間的連接設置。

讓我們首先創建一個類來保存我們的屬性:

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

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

@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)中創建一個application.properties文件:

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

之后,我們將創建一個@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 獲取隨機端口。

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

服務器也可以由我們自己的可執行文件來提供:

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

此外,可執行文件可以按不同的操作系統來定義:

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());

最后,讓我們創建一個使用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服務器是在測試環境中替換實際服務器的完美工具。我們已經看到了如何配置它以及如何在我們的測試中使用它。

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

標簽: Spring
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
麻豆成人91精品二区三区| 国产精品对白| 国产欧美高清| 久久av在线| 亚洲啊v在线| 国产乱码精品一区二区亚洲| 日韩午夜在线| 99精品电影| 樱桃视频成人在线观看| 国产精品地址| 国产视频亚洲| 欧美特黄一级大片| 少妇精品导航| 日产精品一区| 亚洲国产成人二区| 美女国产精品久久久| 日韩在线网址| 黄色亚洲大片免费在线观看| 韩国三级一区| 成人在线网站| 99国产精品一区二区| 99精品视频在线观看免费播放| 老牛国内精品亚洲成av人片| 日本国产一区| 日本精品黄色| 激情欧美丁香| 欧美欧美黄在线二区| 日韩国产一区二区三区| 宅男噜噜噜66国产日韩在线观看| 奇米777国产一区国产二区| 电影91久久久| 中文字幕一区二区av| 高清久久一区| 日韩欧美2区| 欧美日韩一二| 国产精品一区二区99| 天堂资源在线亚洲| 国产精品久久亚洲不卡| 婷婷成人基地| 国产成人免费av一区二区午夜| 中文字幕一区久| 青青草国产成人99久久| 午夜日韩av| аⅴ资源天堂资源库在线| 91精品国产一区二区在线观看| 亚洲成人精品| 91视频一区| 麻豆精品视频在线观看| 欧美一区激情| 亚洲色图网站| 国产亚洲一区在线| 婷婷六月综合| 日韩欧美一区二区三区免费观看| 88久久精品| 日本精品另类| 欧美日韩精品一本二本三本| 正在播放日韩精品| 欧美国产小视频| 中文在线资源| 99久久精品费精品国产| 日韩影院二区| 日韩精品一区二区三区免费观影| 伊人久久av| 欧美在线亚洲综合一区| 99国产精品| 日韩精彩视频在线观看| 国产精品一区二区中文字幕| 国产精品va| 日韩在线精品| 亚洲激情久久| 亚洲精品1区| 午夜精品福利影院| 欧美国产不卡| 久久高清免费| 欧美69视频| 日本成人在线网站| 美女国产一区二区三区| 视频福利一区| 丝袜国产日韩另类美女| 国产亚洲精品美女久久| 国产福利片在线观看| 亚洲第一精品影视| 青草av.久久免费一区| 精品视频在线观看网站| 久久久影院免费| 黄色亚洲大片免费在线观看| 久久亚洲图片| 国产第一亚洲| 亚洲深夜av| 麻豆国产精品| 亚洲午夜久久久久久尤物| 日韩不卡手机在线v区| 日本蜜桃在线观看视频| 蜜臀久久久99精品久久久久久| 国产精品综合| 久久xxxx| 亚洲精品一级二级| 欧美精品国产| 国产精品日本| 亚洲黄色免费av| 免费黄网站欧美| 欧美成人a交片免费看| 97久久超碰| 久久成人亚洲| 欧美 日韩 国产精品免费观看| 国产极品嫩模在线观看91精品| 久久xxxx| 国产精品美女久久久| 欧美13videosex性极品| 另类综合日韩欧美亚洲| 亚洲欧美专区| 乱人伦精品视频在线观看| 日韩精品2区| 日本综合字幕| 97精品国产| 欧美精品福利| 欧美一区久久| 欧美在线看片| 欧美片网站免费| 国产麻豆一区二区三区精品视频| 视频在线观看91| 三级欧美韩日大片在线看| 伊人久久婷婷| 国产精品日本| 一区二区亚洲视频| 亚洲精品视频一二三区| 亚洲精品日韩久久| 亚洲区国产区| 日韩av影院| 国产精品色在线网站| 国产日产一区| 美女尤物国产一区| 国产精品久久久久久久免费观看| 欧美黄页在线免费观看| 久久女人天堂| 91亚洲国产| 成人看片网站| 免费视频久久| 日韩激情综合| 四虎成人av| 不卡中文字幕| 影音先锋久久精品| 国产一级成人av| 丰满少妇一区| 欧美一区二区性| 欧美日韩一二三四| 欧美在线综合| 久久国产精品免费精品3p| 国产精品免费大片| 欧美精品日日操| 首页亚洲欧美制服丝腿| 欧美久久久网站| 亚洲欧洲美洲av| 亚洲欧美日本视频在线观看| 日本久久一区| 精品一区二区三区视频在线播放| 国产精品99视频| 黄页网站一区| 国产欧美久久一区二区三区| 日产午夜精品一线二线三线| 久久久久99| 日韩在线观看中文字幕| 麻豆一区二区三| 最新国产拍偷乱拍精品| 日本强好片久久久久久aaa| 97在线精品| 午夜在线观看免费一区| 久久丁香四色| 亚洲二区精品| 久久精品av麻豆的观看方式| 日本在线高清| 亚洲资源av| 久久精品国产免费| 视频一区视频二区在线观看| 91精品国产自产观看在线| 久久中文字幕导航| 尤物网精品视频| 日韩欧美另类一区二区| 日韩av中文字幕一区| 亚洲深夜福利| 99久久精品费精品国产| 国产欧美日韩在线一区二区 | 激情欧美亚洲| 精品一区二区三区视频在线播放| 亚洲激情五月| 亚洲精品永久免费视频| 国产精品美女在线观看直播| 亚洲调教视频在线观看| 国产精品hd| 亚洲欧美视频| 日韩不卡在线| 亚洲黄色免费看| 欧美国产极品| 久久国产精品色av免费看| 免费日韩av片| 免费人成黄页网站在线一区二区| 99久久婷婷这里只有精品| 国产精品国产一区| 欧美国产一级| www在线观看黄色|