Couchbase

All lectures for UZ purposes
Daraja, Dars
Mavjud

Couchbase – bu hujjatga yo‘naltirilgan taqsimlangan ko‘p modelli NoSQL ochiq kodli ma'lumotlar bazasi bo‘lib, interaktiv ilovalar uchun optimallashtirilgan. Spring Boot esa Couchbase uchun avtomatik konfiguratsiyani va Spring Data Couchbase orqali taqdim etilgan abstraktsiyalarni ta'minlaydi. Quyi darajadagi bog'lamlarni oson yig'ish uchun "boshlang'ich paketlar" spring-boot-starter-data-couchbase va spring-boot-starter-data-couchbase-reactive mavjud.

Couchbase'ga ulanish

Couchbase SDK va maxsus konfiguratsiyani qo'shib, Cluster olish mumkin. spring.couchbase.* xususiyatlari ulanishni sozlash uchun ishlatiladi. Odatda, quyidagi misolda ko'rsatilganidek, ulanish qatori, foydalanuvchi nomi va parol belgilanadi:

Properties
spring.couchbase.connection-string=couchbase://192.168.1.123
spring.couchbase.username=user
spring.couchbase.password=secret
Yaml
spring:
  couchbase:
    connection-string: "couchbase://192.168.1.123"
    username: "user"
    password: "secret"

Bundan tashqari, ba'zi ClusterEnvironment parametrlarini sozlashingiz mumkin. Masalan, quyidagi konfiguratsiyada yangi Bucket ochishda ishlatiladigan kutish vaqti parametri o‘zgartiriladi va SSL protokolini qo‘llab-quvvatlash faollashtiriladi:

Properties
spring.couchbase.env.timeouts.connect=3s
spring.couchbase.env.ssl.key-store=/location/of/keystore.jks
spring.couchbase.env.ssl.key-store-password=secret
Yaml
spring:
  couchbase:
    env:
      timeouts:
        connect: "3s"
      ssl:
        key-store: "/location/of/keystore.jks"
        key-store-password: "secret"
Batafsil ma'lumot uchun spring.couchbase.env.* xususiyatlariga qarang. Ko'proq nazorat qilish uchun bir yoki bir nechta ClusterEnvironmentBuilderCustomizer bean'lardan foydalanish mumkin.

Spring Data Couchbase Repozitoriyalari

Spring Data Couchbase uchun repozitoriyalarni qo'llab-quvvatlash vositalarini o'z ichiga oladi.

Agar CouchbaseClientFactory bean mavjud bo'lsa, CouchbaseTemplate autokonfiguratsiya qilinadigan nusxasini Spring'ning har qanday boshqa bean kabi kiritish mumkin. Bu yuqorida tavsiflangan Cluster mavjud bo'lsa va bucket uchun nom berilgan bo'lsa, mumkin:

Properties
spring.data.couchbase.bucket-name=my-bucket
Yaml
spring:
  data:
    couchbase:
      bucket-name: "my-bucket"

Keyingi misollar CouchbaseTemplate bean'ni qanday kiritishni ko'rsatadi:

Java
import org.springframework.data.couchbase.core.CouchbaseTemplate; import org.springframework.stereotype.Component; @Component public class MyBean { private final CouchbaseTemplate template; public MyBean(CouchbaseTemplate template) { this.template = template; }  // ...  public String someMethod() { return this.template.getBucketName(); } } 
Kotlin
import org.springframework.data.couchbase.core.CouchbaseTemplate import org.springframework.stereotype.Component @Component class MyBean(private val template: CouchbaseTemplate) {  // ...  fun someMethod(): String { return template.bucketName } } 

Autokonfiguratsiya qilingan bean'larni bekor qilish uchun o'z konfiguratsiyangizda aniqlashingiz mumkin bo'lgan bir necha bean'lar mavjud:

  • @Bean annotatsiyalangan couchbaseMappingContext nomli CouchbaseMappingContext bean.

  • @Bean annotatsiyalangan couchbaseCustomConversions nomli CustomConversions bean.

  • @Bean annotatsiyalangan couchbaseTemplate nomli CouchbaseTemplate bean.

Ushbu nomlarni o'z konfiguratsiyangizda qattiq kodlashdan qochish uchun Spring Data Couchbase tomonidan taqdim etilgan BeanNames dan foydalanishingiz mumkin. Masalan, quyidagicha ishlatiladigan konverterlarni sozlashingiz mumkin:

Java
import org.assertj.core.util.Arrays; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.data.couchbase.config.BeanNames; import org.springframework.data.couchbase.core.convert.CouchbaseCustomConversions; @Configuration(proxyBeanMethods = false) public class MyCouchbaseConfiguration { @Bean(BeanNames.COUCHBASE_CUSTOM_CONVERSIONS) public CouchbaseCustomConversions myCustomConversions() { return new CouchbaseCustomConversions(Arrays.asList(new MyConverter())); } } 
Kotlin
import org.assertj.core.util.Arrays import org.springframework.context.annotation.Bean import org.springframework.context.annotation.Configuration import org.springframework.data.couchbase.config.BeanNames import org.springframework.data.couchbase.core.convert.CouchbaseCustomConversions @Configuration(proxyBeanMethods = false) class MyCouchbaseConfiguration { @Bean(BeanNames.COUCHBASE_CUSTOM_CONVERSIONS) fun myCustomConversions(): CouchbaseCustomConversions { return CouchbaseCustomConversions(Arrays.asList(MyConverter())) } } 
Izohlar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION