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:
spring.couchbase.connection-string=couchbase://192.168.1.123
spring.couchbase.username=user
spring.couchbase.password=secret
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:
spring.couchbase.env.timeouts.connect=3s
spring.couchbase.env.ssl.key-store=/location/of/keystore.jks
spring.couchbase.env.ssl.key-store-password=secret
spring:
couchbase:
env:
timeouts:
connect: "3s"
ssl:
key-store: "/location/of/keystore.jks"
key-store-password: "secret"
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:
spring.data.couchbase.bucket-name=my-bucket
spring:
data:
couchbase:
bucket-name: "my-bucket"
Keyingi misollar CouchbaseTemplate bean'ni qanday kiritishni ko'rsatadi:
@Component public class MyBean { private final CouchbaseTemplate template; public MyBean(CouchbaseTemplate template) { this.template = template; } }
@Component class MyBean(private val template: CouchbaseTemplate) { }
Autokonfiguratsiya qilingan bean'larni bekor qilish uchun o'z konfiguratsiyangizda aniqlashingiz mumkin bo'lgan bir necha bean'lar mavjud:
-
@BeanannotatsiyalangancouchbaseMappingContextnomliCouchbaseMappingContextbean. -
@BeanannotatsiyalangancouchbaseCustomConversionsnomliCustomConversionsbean. -
@BeanannotatsiyalangancouchbaseTemplatenomliCouchbaseTemplatebean.
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:
@Configuration(proxyBeanMethods = false) public class MyCouchbaseConfiguration { @Bean(BeanNames.COUCHBASE_CUSTOM_CONVERSIONS) public CouchbaseCustomConversions myCustomConversions() { return new CouchbaseCustomConversions(Arrays.asList(new MyConverter())); } }
@Configuration(proxyBeanMethods = false) class MyCouchbaseConfiguration { @Bean(BeanNames.COUCHBASE_CUSTOM_CONVERSIONS) fun myCustomConversions(): CouchbaseCustomConversions { return CouchbaseCustomConversions(Arrays.asList(MyConverter())) } }
GO TO FULL VERSION