摘要:使用技術提供了額外的項目,幫助你訪問各種技術,包括,,,,,,,和。我們還提供了一個,以便與具有支持的其他存儲保持一致。有關的詳細信息,請參閱參考文檔。
30. 使用NoSQL技術
Spring Data提供了額外的項目,幫助你訪問各種NoSQL技術,包括:MongoDB,Neo4J,Elasticsearch,Solr,Redis,Gemfire,Cassandra,Couchbase和LDAP。Spring Boot為Redis、MongoDB、Neo4j、Elasticsearch、Solr Cassandra、Couchbase和LDAP提供了自動配置,你可以使用其他項目,但是你必須自己配置它們,請參閱projects.spring.io/spring-data的適當參考文檔。
30.1 RedisRedis是一個緩存、消息代理和功能豐富的鍵值存儲,Spring Boot提供了Lettuce和Jedis客戶端庫的基本自動配置,以及Spring Data Redis提供的在它們之上的抽象。
有一個spring-boot-starter-data-redis “Starter”,可以方便地收集依賴項,默認情況下,它使用Lettuce,該starter同時處理傳統應用程序和reactive應用程序。
我們還提供了一個spring-boot-starter-data-redis-reactive “Starter”,以便與具有reactive支持的其他存儲保持一致。30.1.1 連接到Redis
可以像注入任何其他Spring Bean一樣注入自動配置的RedisConnectionFactory、StringRedisTemplate或vanilla RedisTemplate實例,默認情況下,該實例試圖連接到localhost:6379上的Redis服務器,下面的清單顯示了這樣一個bean的示例:
@Component public class MyBean { private StringRedisTemplate template; @Autowired public MyBean(StringRedisTemplate template) { this.template = template; } // ... }
你還可以注冊任意數量的bean,這些bean實現LettuceClientConfigurationBuilderCustomizer用于更高級的定制,如果你使用Jedis,也可以使用JedisClientConfigurationBuilderCustomizer。
如果你添加了任何自動配置類型的自己的@Bean,它替換默認值(在RedisTemplate的情況下除外,當排除值是基于bean名稱時,則替換為RedisTemplate,而不是它的類型),默認情況下,如果commons-pool2在類路徑上,就會得到一個連接池工廠。
30.6 ElasticsearchElasticsearch是一個開源、分布式、實時搜索和分析引擎,Spring Boot為Elasticsearch提供了基本的自動配置,上面的抽象由Spring Data Elasticsearch提供,有一個spring-boot-starter-data-elasticsearch “Starter”可以方便地收集依賴項,Spring Boot也支持Jest。
30.6.1 使用Jest連接到Elasticsearch如果類路徑上有Jest,則可以注入一個自動配置的JestClient,該客戶端默認以localhost:9200為目標,你可以進一步調整客戶端的配置方式,如下面的示例所示:
spring.elasticsearch.jest.uris=http://search.example.com:9200 spring.elasticsearch.jest.read-timeout=10000 spring.elasticsearch.jest.username=user spring.elasticsearch.jest.password=secret
你還可以注冊任意數量的bean,這些bean實現HttpClientConfigBuilderCustomizer,用于更高級的定制,下面的示例調優其他HTTP設置:
static class HttpSettingsCustomizer implements HttpClientConfigBuilderCustomizer { @Override public void customize(HttpClientConfig.Builder builder) { builder.maxTotalConnection(100).defaultMaxTotalConnectionPerRoute(5); } }
要完全控制注冊,定義一個JestClient bean。
30.6.2 使用Spring Data連接到Elasticsearch要連接到Elasticsearch,必須提供一個或多個集群節點的地址,可以通過設置spring.data.elasticsearch.cluster-nodes屬性來指定一個逗號分隔的host:port列表的地址。有了這個配置,一個ElasticsearchTemplate或TransportClient就可以像其他任何Spring bean一樣被注入,如下面的示例所示:
spring.data.elasticsearch.cluster-nodes=localhost:9300
@Component public class MyBean { private final ElasticsearchTemplate template; public MyBean(ElasticsearchTemplate template) { this.template = template; } // ... }
如果你添加自己的ElasticsearchTemplate或TransportClient @Bean,它會替換默認。
30.6.3 Spring Data Elasticsearch存儲庫Spring Data包括對Elasticsearch的存儲庫支持,與前面討論的JPA存儲庫一樣,基本原則是根據方法名稱為你自動構造查詢。
事實上,Spring Data JPA和Spring Data Elasticsearch共享相同的公共基礎設施,你可以以前面的JPA示例為例,假設City現在是Elasticsearch @Document類,而不是JPA @Entity,它的工作方式是相同的。
有關Spring Data Elasticsearch的詳細信息,請參閱參考文檔。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/77371.html
摘要:參考指南使你可以輕松地創建可運行的獨立的生產級的基于的應用程序,我們對平臺和第三方庫有自己的看法,這樣你就可以以最低限度工作開始了,大多數應用程序都需要很少的配置。文檔本節簡要概述了參考文檔,它充當文檔其余部分的映射。 Spring Boot 參考指南 Spring Boot使你可以輕松地創建可運行的獨立的、生產級的基于Spring的應用程序,我們對Spring平臺和第三方庫有自己的看...
摘要:結合我自己的經驗,我整理了一份全棧工程師進階路線圖,給大家參考。乾坤大挪移第一層第一層心法,主要都是基本語法,程序設計入門,悟性高者十天半月可成,差一點的到個月也說不準。 技術更新日新月異,對于初入職場的同學來說,經常會困惑該往那個方向發展,這一點松哥是深有體會的。 我剛開始學習 Java 那會,最大的問題就是不知道該學什么,以及學習的順序,我相信這也是很多初學者經常面臨的問題。?我...
摘要:指南無論你正在構建什么,這些指南都旨在讓你盡快提高工作效率使用團隊推薦的最新項目版本和技術。使用進行消息傳遞了解如何將用作消息代理。安全架構的主題指南,這些位如何組合以及它們如何與交互。使用的主題指南以及如何為應用程序創建容器鏡像。 Spring 指南 無論你正在構建什么,這些指南都旨在讓你盡快提高工作效率 — 使用Spring團隊推薦的最新Spring項目版本和技術。 入門指南 這些...
摘要:作為微服務的基礎設施之一,背靠強大的生態社區,支撐技術體系。微服務實踐為系列講座,專題直播節,時長高達小時,包括目前最流行技術,深入源碼分析,授人以漁的方式,幫助初學者深入淺出地掌握,為高階從業人員拋磚引玉。 簡介 目前業界最流行的微服務架構正在或者已被各種規模的互聯網公司廣泛接受和認可,業已成為互聯網開發人員必備技術。無論是互聯網、云計算還是大數據,Java平臺已成為全棧的生態體系,...
閱讀 1754·2021-11-25 09:43
閱讀 1789·2021-11-24 10:41
閱讀 3108·2021-09-27 13:36
閱讀 815·2019-08-30 15:53
閱讀 3573·2019-08-30 15:44
閱讀 869·2019-08-30 14:03
閱讀 2578·2019-08-29 16:38
閱讀 1003·2019-08-29 13:23