Java

O Spring Data Couchbase 2 foi lançado! Guia rápido de introdução com o Spring Initializr

4 MIN DE LEITURA

Boas notícias, pessoal, Spring Data Couchbase 2 foi lançado na semana passada e já está disponível no incrível Spring Initializr. Este site incrível permite que você inicie um projeto Spring/Couchbase muito rapidamente. Basta selecionar as dependências desejadas para o seu projeto, clicar no botão Generate Project e você terá um arquivo compactado contendo um projeto pronto para ser importado. Este assistente também está disponível no Spring Tool Suite.

1/ Vá para https://start.spring.io/

No momento, ele está disponível apenas com o Spring Boot 1.4.0-SNAPSHOT, portanto, certifique-se de começar selecionando a versão correta do Spring Boot.

3/ Selecione Couchbase

4/ Adicione quaisquer outras dependências que você possa precisar para o seu projeto

Gerar o projeto

Agora você tem um arquivo pronto para ser importado no seu editor de preferência. Como estou fazendo coisas com Spring, costumo ficar com o conjunto de ferramentas padrão deles. É basicamente o Eclipse pré-configurado com o conjunto correto de plugins.

Eu mantive o Maven no assistente de geração para poder importá-lo simplesmente como um projeto Maven existente.

Para ativar a configuração padrão, você precisa adicionar o seguinte no seu arquivo application.properties:

spring.data.couchbase.bucket.name=default

Ou você pode criar um Bean @Configuration que estende AbstractCouchbaseConfiguration. Agora estamos prontos para começar. Aqui está um inventário rápido do que a autoconfiguração do Spring Boot Couchbase oferece.

Propriedades

Você pode definir várias propriedades para configurar seu acesso ao Couchbase, aqui estão os padrões:

# o nome do bucket ao qual se conectar; é obrigatório habilitar a configuração automática
spring.data.couchbase.bucket.name=default
# a senha do bucket ao qual se conectar
spring.data.couchbase.bucket.password=
# endereço dos nós do cluster Couchbase
spring.data.couchbase.bootstrap-hosts=127.0.0.1
# Criação automática de índices com base apenas em anotações (@ViewIndexed, @N1qlPrimaryIndexed, @N1qlSecondaryIndexed)
spring.data.couchbase.auto-index=false
# Nível padrão de consistência (read-your-own-writes|eventually-consistent|strongly-consistent|update-after)
spring.data.couchbase.consistency=read-your-own-writes
  • read-your-own-writes é stale=false e ScanConsistency=statement_plus
  • forte consistência é stale=false e ScanConsistency=request_plus
  • update-after é stale=update-after e ScanConsistency=not_bounded
  • eventually-consistent é stale=true e ScanConsistency=not_bounded

Nível obsoleto

Se stale=true estiver configurado, o Couchbase não atualizará a view, mesmo que ela esteja desatualizada. O benefício disso é uma latência de consulta melhorada. Se stale=update_after estiver configurado, o Couchbase atualizará a view após o retorno do resultado desatualizado. Se stale=false estiver configurado, o Couchbase atualizará a view e retornará os resultados mais atualizados.

Nível de Consistência de Varredura

não limitado

Este é o padrão (para solicitações de instrução única). Nenhum vetor de carimbo de data/hora é usado no escaneamento de índice. Este também é o modo mais rápido, pois evitamos o custo de obtenção do vetor e também evitamos qualquer espera para que o índice alcance o vetor.

solicitar_mais

Isso implementa consistência forte por requisição. Antes de processar a requisição, um vetor atual é obtido. O vetor é usado como um limite inferior para as instruções na requisição. Se houver instruções DML na requisição, o RYOW também é aplicado dentro da requisição.

declaração_mais

Isso implementa consistência forte por instrução. Antes de processar cada instrução, um vetor atual é obtido e usado como um limite inferior para essa instrução.

Anotação de índice

Aqui está um exemplo de repositório com automático criação de índice. Quando o bean do repositório é inicializado, nós garantimos que o índice definido pelas anotações exista e, caso contrário, o criamos.

@N1qlPrimaryIndexed
@ViewIndexed(designDoc = "customer")
@N1qlSecondaryIndexed(indexName = "customerSecondaryIndex")
public interface CustomerRepository extends CouchbasePagingAndSortingRepository {}

O índice deve ser usado apenas para desenvolvimento. Aconselhamos desativar a geração automática de índices em produção e certificar-se de criar o índice correto nos nós corretos durante o processo de implantação.

VisualizarIndexado

Este anotação permite definir o nome do documento de design e o nome da View, bem como uma função de map e reduce personalizada.

N1qlPrimaryIndexed

Este anotação certifica-se de que o bucket associado ao repositório atual terá um índice primário N1QL.

N1qlSecondaryIndexed

Este anotação garante que um índice secundário exista no tipo da sua Entidade.

Grãos Disponíveis

Se você habilitou a autoconfiguração, terá acesso a vários Beans. Aqui está uma lista dos mais úteis:

  • CouchbaseTemplate couchbaseTemplate
    • Concede a você acesso à API de baixo nível do Spring Data Couchbase
  • ValidatingCouchbaseEventListener validationEventListener
    • Validador de entidades dependentes do javax.validation. Quando registrado como um componente Spring, ele é invocado automaticamente antes que as entidades sejam salvas no banco de dados.
  • CustomConversions customConversions
    • Usado para capturar conversões de tipos JSON personalizadas.
  • Bucket couchbaseClient
    • Acesso direto ao Bucket configurado

Conclusão

Isso deve ter fornecido uma boa visão geral do que está disponível ao iniciar um novo projeto com o spring-boot-starter-data-couchbase. Para mais detalhes sobre o Spring Data Couchbase 2, consulte o documentação ou confira este blog regularmente para mais conteúdos legais sobre Spring/Couchbase.

Compartilhe este artigo

Autor

Laurent é um metaleiro CDF que mora em Paris. Ele escreve código principalmente em Java e texto estruturado em AsciiDoc, e frequentemente fala sobre dados, programação reativa e outras coisas cheias de jargões. Ele também é um ex-Developer Advocate da Clever Cloud e da Nuxeo, onde dedicou seu tempo e sua expertise para ajudar essas comunidades a crescerem maiores e mais fortes. Agora, ele lidera a área de Developer Relations na Couchbase.

Deixe um comentário

Pronto para começar com o Couchbase Capella?

Começar a construir

Confira nosso portal para desenvolvedores para explorar o NoSQL, navegar por recursos e começar com tutoriais.

Use o Capella free

Coloque a mão na massa com o Couchbase em apenas alguns cliques. O Capella DBaaS é a maneira mais fácil e rápida de começar.

Entre em contato

Quer saber mais sobre as ofertas do Couchbase? Deixe-nos ajudar.