스프링 부팅 1.4.0
마일스톤 2 가 출시되었습니다! 오늘은 스프링 부트 팀원들과 카우치베이스 자바 SDK 팀 간의 공동 노력을 통해 카우치베이스를 스프링 부트에 최초로 통합한 소식을 알려드릴 좋은 시간입니다.)
In Spring Boot 1.4.0
를 통해 카우치베이스는 스프링 부트 에코시스템의 일류 시민이 되었습니다!
Couchbase SDK 통합
이제 Spring Boot는 사용자가 언제 카우치베이스 SDK
를 클래스 경로에 추가할 수 있습니다. 이 경우 인스턴스화하면 클러스터
및 버킷
콩을 사용하는 경우 자동 구성.
Spring Boot는 이러한 핵심 SDK 클래스를 추가로 구성하기 위해 속성을 선택할 수 있습니다. 카우치베이스 환경
!
다음과 같은 부트스트랩 속성이 인식됩니다:
1 2 3 |
봄.카우치베이스.부트스트랩-호스트 봄.카우치베이스.버킷.이름 봄.카우치베이스.버킷.비밀번호 |
환경 튜닝(IO 엔드포인트, SSL 지원 및 기본 동기화 API 시간 초과)은 다음 속성을 통해 노출됩니다:
1 2 3 4 5 6 7 8 9 10 11 12 |
봄.카우치베이스.환경.엔드포인트.키-값 봄.카우치베이스.환경.엔드포인트.쿼리 봄.카우치베이스.환경.엔드포인트.보기 봄.카우치베이스.환경.ssl.활성화 봄.카우치베이스.환경.ssl.키-store 봄.카우치베이스.환경.ssl.키-store-비밀번호 봄.카우치베이스.환경.시간 초과.연결 봄.카우치베이스.환경.시간 초과.키-값 봄.카우치베이스.환경.시간 초과.쿼리 봄.카우치베이스.환경.시간 초과.보기 |
이제 ⭐️⭐️⭐️⭐️⭐️ 지원팀입니다!
경고: 이전 마일스톤에서는 부트스트랩 속성 앞에 "
spring.*data*.couchbase
", 이제 "spring.couchbase
“.
스프링 캐시 구현
그리고 스프링 캐시 추상화에는 Couchbase 2.x 구현이 있습니다, 카우치베이스-스프링 캐시
.
이제 Spring Boot는 Java SDK와 카우치베이스-스프링 캐시
아티팩트가 클래스 경로에 있습니다.
이는 기본 기본 스토리지인 이전 섹션과 잘 통합됩니다. 버킷
캐시는 Spring Boot에서 자동 구성한 캐시입니다.)
참고: 캐시 구현은 Spring Data Couchbase 프로젝트에서 자체 프로젝트(Couchbase의 github 리포지토리)로 가져와서 Spring Data와 별도로 사용 및 릴리스할 수 있도록 했습니다.
팁: 최소한 다음과 같이 구성하는 것을 잊지 마세요.
spring.couchbase.bootstrap-hosts
속성입니다.
이 구현은 CacheManager
를 사용하면 각 캐시 이름에 Couchbase의 키 접두사를 자동으로 추가하여 여러 캐시의 데이터를 동일한 Couchbase 버킷에 저장할 수 있습니다.
그리고 CouchbaseCacheManager
은 자동으로 버킷
에 의해 자동 구성됩니다. 캐시 이름을 선언적으로 나열하는 속성을 추가하기만 하면 해당 캐시가 미리 로드됩니다:
1 2 |
봄.캐시.유형=카우치베이스 봄.캐시.캐시-이름=foo,바 |
별 다섯 개짜리 지원, 저희가 알려드립니다!
여러 캐시에 대한 데이터를 여러 버킷에 저장하도록 구성할 수도 있습니다. 그런 다음 유창한 빌더 패턴을 사용하여 캐시를 구성할 수 있습니다(예를 들어 캐시 관리자 커스터마이저
). 이 캐시 빌더
를 사용하면 기본 만료 시간을 설정하는 등 캐시를 추가로 조정할 수도 있습니다:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
@구성 public 클래스 카우치베이스 캐시 구성 { 비공개 final 클러스터 클러스터; //부트 코어 카우치베이스 지원에서 클러스터 주입하기 public 카우치베이스 캐시 구성(클러스터 클러스터) { 이.클러스터 = 클러스터; } @Bean public 버킷 또 다른 버킷() { 반환 이.클러스터.오픈버킷("다른", "비밀"); } @Bean public 캐시 관리자 커스터마이저 cmCustomizer() { 반환 c -> { c.준비 캐시("biz", 캐시 빌더 .새로운 인스턴스(또 다른 버킷()) .withExpirationInMillis(2000)); }; } } |
이 구현에서는 보기를 사용하여 동일한 버킷에 배치된 캐시를 선택적으로 지울 수 있습니다.
마지막으로 요청에 따라 캐시를 동적으로 생성하는 기능도 지원합니다. 이를 활성화하려면 캐시 이름 선언을 생략하고 관련 프로퍼티로 Couchbase 캐싱을 활성화하기만 하면 됩니다:
1 |
봄.캐시.유형=카우치베이스 |
이것은 자동으로 구성된 Spring Boot를 사용합니다. 버킷
를 동적으로 생성된 모든 캐시에 대한 기본 버킷으로 설정합니다.
함께 즐기기 캐시 가능
기다리고 있나요?
Spring 데이터 통합
Spring 데이터 카우치베이스 2.1.0
(릴리스 트레인 호퍼)에는 스프링 부트와의 통합을 쉽게 할 수 있는 몇 가지 수정 사항이 포함되어 있습니다.
먼저 일반적인 용의자: 기본적으로 Spring Boot는 스프링 데이터 카우치베이스를 사용하도록 스프링 데이터 카우치베이스를 자동 구성합니다. 버킷
를 만들었습니다. 이는 핵심 SDK 구성 부분을 다음과 같이 분리했기 때문에 가능합니다. 카우치베이스 컨피규레이터
클래스에 있지만, 스프링 데이터에 실제로 특정한 것은 새로운 기본 클래스에 있습니다, 추상 카우치베이스 데이터 구성
.
Spring 데이터만 사용하는 경우 계속 사용할 수 있습니다. 추상 카우치베이스 구성
는 이제 CouchbaseConfigurer이자 AbstractCouchbaseDataConfiguration입니다.
그러나 Spring Boot를 사용하는 경우 자동으로 카우치베이스 컨피규레이터
. 언제든지 직접 조정할 수 있습니다. 추상 카우치베이스 데이터 구성
를 클릭하고 그 안에 구성자를 삽입합니다.
기타 Spring 데이터 카우치베이스 기능
2.1.0 릴리스에는 몇 가지 새로운 기능도 포함되어 있습니다:
- 자동 옵션
터치
(문서 만료 새로 고침) 읽기(DATACOUCH-59) - 정렬 및 페이지 매김 개선(DATACOUCH-211, DATACOUCH-214)
- 감사 지원 추가(예
@CreatedBy
어노테이션, DATACOUCH-91)
결론
⭐️⭐️⭐️⭐️⭐️ 마일스톤을 획득하세요!
언제나 그렇듯이 피드백은 언제나 환영합니다(스프링 데이터 이슈 추적기, 스프링 부팅 이슈 추적기 또는 카우치베이스 포럼).
행복한 코딩!