이 기사는 SpringBoot의 Redis, Apachsolr 및 Springsession 통합을 소개하고 귀하와 공유합니다. 세부 사항은 다음과 같습니다.
1. 소개
발사 이후 SpringBoot는 개발자가 편리한 구성을 선호했습니다. 다양한 스타터를 제공하여 많은 지루한 구성을 단순화합니다. Druid와 Mybatis의 Springboot 통합은 일반적이므로 여기에서 자세히 소개하지 않습니다. 오늘 우리는 Redis, Apachesolr 및 Springsession을 통합하기 위해 SpringBoot의 사용을 소개 할 것입니다.
2. SpringBoot는 Redis를 통합합니다
Redis는 가장 일반적으로 사용되는 캐시 중 하나입니다. 일반적으로 Redis는 고 가용성 (HA), 클러스터 또는 센티넬을 구축합니다. 특정 구성 방법은 공식 Redis 문서를 참조하십시오. 우리는 여기서 Sentinel의 예를 제시했습니다. 일반적으로 레 디센티 넬을 구축하기위한 3 개의 노드가 있습니다. Redis의 항구는 일반적으로 6379이고 Sentinel의 항구는 일반적으로 26379입니다.
SpringBoot를 사용하여 Redis를 통합하려면 먼저 해당 Redis 스타터를 POM에 추가해야합니다.
<pectionency> <groupId> org.springframework.boot </groupid> <artifactid> 스프링 부트 스타터-데이터-레 디스 </artifactid> </fectionency>
JAR 패키지를 도입 한 후 Redissentinel 구성을 직접 추가하여 Application.Properties 파일의 통합을 완료 할 수 있습니다.
spring.redis.sentinel.master = mymas spring.redis.pool.max-active = 1024spring.redis.pool.max-idle = 200spring.redis.pool.min-idle = 100spring.redis.pool.max-wait = 10000
Sentinel.Master는 마스터의 이름입니다. 기본 이름 MyMaster는 Redissentinel을 만들 때 사용됩니다.
Sentinel.nodes는 Sentinel 노드입니다. Redis 노드가 아닌 Sentinel 노드입니다. IP : 포트의 형식을 사용하고 여러 노드가 ","로 분리됩니다.
연결 풀 정보는 다음과 같습니다.
이 프로그램에서 우리는 Redistemplate를 직접 주입하여 Redis에서 작동 할 수 있습니다.
@autowiredPrivate StringRedistemplate StringRedistemplate;
이 시점에서 Redis는 통합되었습니다.
3. SpringBoot는 Springsession을 통합합니다
Springsession은 컨테이너를 통과하지 않고 클러스터 세션을 관리합니다. 데이터베이스, Redis, MongoDB 등과 같은 다른 스토리지 레이어에 액세스 할 수 있습니다. SpringBoot와 완벽하게 결합 할 수 있습니다.
먼저 프로젝트에 Springsession을 도입하고 POM에 다음 구성을 추가합니다.
<pectionency> <groupid> org.springframework.session </groupid> <artifactid> 스프링 세션 </artifactid> </dependency>
그런 다음 Application.properties에서 스토리지 유형을 지정하십시오.
spring.session.store-type = redis
이것은 매우 간단한 Springsession의 통합입니다. 쿠키에 대한 특별한 요구 사항이있는 경우 프로젝트에 새 쿠키 콩을 만들어 SpringBoot로 자동으로 생성 된 Bean을 교체 할 수 있습니다. 세부 사항은 다음과 같습니다.
@Bean public defaultCookieserializer Cookieserializer () {defaultCookieserializer Cookie = 새로운 DefaultCookieserializer (); Cookie.SetCookIename ( "SpringBoot_id"); 쿠키 반환; }위의 예에서는 쿠키 이름을 수정했습니다. 다른 속성을 수정 해야하는 경우 관련 속성 값을 설정하십시오.
4. SpringBoot는 Solr을 통합합니다
Apachesolr는 비교적 일반적인 검색 엔진이며 SpringBoot는 모든 사람이 개발하기에 매우 편리하게 Solr을 통합 할 수 있습니다. Apachesolr의 특정 개념과 사용은 관련 문서를 직접 참조하십시오. Solr을 구축 할 때는 일반적으로 Zookeeper를 사용하여 Solrcloud를 구축하여 Solr의 유용성을 향상시킵니다. 여기서 우리는 Solrcloud를 조직합니다.
먼저 Apachesolr의 스타터를 소개합니다.
<pectionency> <groupid> org.springframework.boot </groupid> <artifactid> 스프링 부트 스타터-다타-졸리 </artifactid> </fectionency>
Application.properties에서 다음과 같이 Zookeeper 정보를 추가하십시오.
코드 사본은 다음과 같습니다.
spring.data.solr.zk-host = 192.168.2.233 : 2181,192.168.2.234 : 2181,192.168.2.235 : 2181
여러 사육사가 ","에 의해 분리 될 때.
이런 식으로 SpringBoot는 Apachesolr을 통합하여 매우 편리합니다. 다음으로 Spring-Data를 사용하여 Solr에 액세스 할 수 있습니다.
1. Solr에 해당하는 자신의 엔티티 클래스가 반환 한 데이터를 작성하십시오. 특정 코드는 다음과 같습니다.
@setter@getter@solrdocument (solrcorename = "xy_company") public class solrcompany {@field ( "id") 개인 문자열 id; @field ( "CompanyName_txt") 개인 문자열 회사 이름; }@setter@getter 두 주석이 더 일반적이며 Get and Set 메소드를 생성하는 데 사용됩니다.
@solrdocument (solrcorename = "xy_company")는이 엔티티가 Solr의 핵심 또는 컬렉션에 해당하도록 지정합니다. Core는 단일 인스턴스의 이름이며 Collection은 Solrcloud의 이름입니다. 이는 거의 동일합니다.
@field ( "id"), Solr의 해당 필드를 지정하는 데 사용됩니다.
2. 자신의 스토리지 레이어를 작성하고 다음과 같이 내성을 상속하십시오.
Public Interface CompanyRepository 확장 SolrCrudRepository <SolrCompany, String> {list <solrcompany> findBycompanyname (String CompanyName);}이러한 방식 으로이 저장 레이어는 Solr에 액세스 할 수 있습니다. 다중 스토리지 레이어가 하나의 엔티티를 공유하는 경우 여러 저장소 레이어를 다른 저장소를 상속하기 위해 작성할 수 있습니다. 자세한 내용은 Spring-Data를 참조하십시오.
3. 자신의 사업에서 Solr을 사용하십시오
공개 목록 <SolrCompany> getCompanyByName (String CompanyName) {return CompanyRepository.FindByCompAnyname (CompanyName); }이 시점에서 SpringBoot는 Solr을 통합합니다. 매우 간단합니다.
다음으로 MongoDB, Kafka 등과 같은 일부 주류 프레임 워크의 통합을 소개합니다.
위는이 기사의 모든 내용입니다. 모든 사람의 학습에 도움이되기를 바랍니다. 모든 사람이 wulin.com을 더 지원하기를 바랍니다.