{"id":2226,"date":"2016-04-14T17:44:31","date_gmt":"2016-04-14T17:44:30","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=2226"},"modified":"2023-08-11T11:37:47","modified_gmt":"2023-08-11T18:37:47","slug":"spring-boot-couchbase-integration","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/pt\/spring-boot-couchbase-integration\/","title":{"rendered":"Couchbase como um cidad\u00e3o de primeira classe do Spring Boot 1.4"},"content":{"rendered":"<p><a href=\"https:\/\/spring.io\/blog\/2016\/04\/13\/spring-boot-1-4-0-m2-available-now\">Inicializa\u00e7\u00e3o do Spring <code>1.4.0<\/code> MILESTONE 2<\/a> foi lan\u00e7ado! Este \u00e9 um bom momento para falar sobre o esfor\u00e7o conjunto entre os membros da equipe do Spring Boot e a equipe do Couchbase Java SDK para oferecer uma integra\u00e7\u00e3o de primeira classe do Couchbase no Spring Boot :)<\/p>\n<p><img decoding=\"async\" src=\"\/wp-content\/original-assets\/2016\/april\/spring-boot-couchbase-integration\/springbootandcouchbase.png\" align=\"middle\" \/><\/p>\n<p>Em <code>Inicializa\u00e7\u00e3o do Spring 1.4.0<\/code>Com o Spring Boot, o Couchbase se torna um cidad\u00e3o de primeira classe do ecossistema do Spring Boot!<\/p>\n<h2 id=\"couchbase-sdk-integration\">Integra\u00e7\u00e3o do SDK do Couchbase<\/h2>\n<p>O Spring Boot agora reconhece diretamente quando voc\u00ea tem a op\u00e7\u00e3o <code>SDK do Couchbase<\/code> em seu classpath. E quando esse \u00e9 o caso, ele instancia um <code>Aglomerado<\/code> e um <code>Balde<\/code> para voc\u00ea usando <em>autoconfigura\u00e7\u00e3o<\/em>.<\/p>\n<p>O Spring Boot pode pegar propriedades para configurar ainda mais essas classes principais do SDK, at\u00e9 mesmo a classe <code>CouchbaseEnvironment<\/code>!<\/p>\n<p>As seguintes propriedades de bootstrapping s\u00e3o reconhecidas:<\/p>\n<pre class=\"editor-colors lang-text\">spring.couchbase.bootstrap-hosts\r\nspring.couchbase.bucket.name\r\nspring.couchbase.bucket.password\r\n<\/pre>\n<p>O ajuste do ambiente (pontos de extremidade de IO, suporte a SSL e tempos limite padr\u00e3o da API de sincroniza\u00e7\u00e3o) \u00e9 exposto por meio das seguintes propriedades:<\/p>\n<pre class=\"editor-colors lang-text\">spring.couchbase.env.endpoints.key-value\r\nspring.couchbase.env.endpoints.query\r\nspring.couchbase.env.endpoints.view\r\n\r\nspring.couchbase.env.ssl.enabled\r\nspring.couchbase.env.ssl.key-store\r\nspring.couchbase.env.ssl.key-store-password\r\n\r\nspring.couchbase.env.timeouts.connect\r\nspring.couchbase.env.timeouts.key-value\r\nspring.couchbase.env.timeouts.query\r\nspring.couchbase.env.timeouts.view\r\n<\/pre>\n<p>Esse \u00e9 o suporte do \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f!<\/p>\n<blockquote><p><strong>AVISO<\/strong>: Observe que, na etapa anterior, as propriedades de bootstrapping eram prefixadas com \" <code>spring.*data*.couchbase<\/code> \", agora se tornando \" <code>spring.couchbase<\/code> &#8220;.<\/p><\/blockquote>\n<h2 id=\"spring-cache-implementation\">Implementa\u00e7\u00e3o do cache do Spring<\/h2>\n<p>O <a href=\"https:\/\/www.couchbase.com\/blog\/pt\/couchbase-spring-cache\/\">Spring Cache<\/a> tem uma implementa\u00e7\u00e3o do Couchbase 2.x, <a href=\"https:\/\/github.com\/couchbaselabs\/couchbase-spring-cache\"><code>couchbase-spring-cache<\/code><\/a>.<\/p>\n<p>O Spring Boot agora reconhece essa implementa\u00e7\u00e3o de cache quando tanto o Java SDK quanto o <code>couchbase-spring-cache<\/code> est\u00e3o no classpath.<\/p>\n<p>Isso se integra perfeitamente \u00e0 se\u00e7\u00e3o anterior, visto que o armazenamento subjacente padr\u00e3o <code>Balde<\/code> para os caches \u00e9 aquele autoconfigurado pelo Spring Boot :)<\/p>\n<blockquote><p><strong>OBSERVA\u00c7\u00c3O<\/strong>: A implementa\u00e7\u00e3o do cache foi retirada do projeto Spring Data Couchbase e colocada em seu pr\u00f3prio projeto (no reposit\u00f3rio github do Couchbase), para que pudesse ser usada e lan\u00e7ada separadamente do Spring Data.<\/p><\/blockquote>\n<blockquote><p><strong>DICA<\/strong>: N\u00e3o se esque\u00e7a de, pelo menos, configurar o <code>spring.couchbase.bootstrap-hosts<\/code> propriedade.<\/p><\/blockquote>\n<p>Essa implementa\u00e7\u00e3o do <code>Gerenciador de cache<\/code> permite armazenar dados de v\u00e1rios caches no mesmo bucket do Couchbase, prefixando automaticamente as chaves no Couchbase com o nome de cada cache.<\/p>\n<p>O <code>CouchbaseCacheManager<\/code> reutilizar\u00e1 automaticamente o <code>Balde<\/code> autoconfigurados pelo Spring Boot. Basta adicionar uma propriedade para listar declarativamente os nomes de cache para que os caches correspondentes sejam pr\u00e9-carregados:<\/p>\n<pre class=\"editor-colors lang-text\">spring.cache.type=couchbase\r\nspring.cache.cache-names=foo,bar\r\n<\/pre>\n<p>N\u00f3s lhe dizemos que o suporte \u00e9 cinco estrelas!<\/p>\n<p>Voc\u00ea pode at\u00e9 mesmo configur\u00e1-lo para armazenar dados de diferentes caches em v\u00e1rios buckets. Os caches podem ent\u00e3o ser configurados usando um padr\u00e3o de construtor fluente (por exemplo, em um <code>CacheManagerCustomizer<\/code>). Esse <code>CacheBuilder<\/code> tamb\u00e9m permite que voc\u00ea ajuste ainda mais os caches, como definir um tempo de expira\u00e7\u00e3o padr\u00e3o:<\/p>\n<pre><code class=\"language-java\">@Configuration\r\npublic class CouchbaseCacheConfiguration {\r\n\r\n  private final Cluster cluster;\r\n\r\n  \/\/inject the Cluster from Boot core Couchbase support\r\n  public CouchbaseCacheConfiguration(Cluster cluster) {\r\n    this.cluster = cluster;\r\n  }\r\n\r\n  @Bean\r\n  public Bucket anotherBucket() {\r\n    return this.cluster.openBucket(\"another\", \"secret\");\r\n  }\r\n\r\n  @Bean\r\n  public CacheManagerCustomizer cmCustomizer() {\r\n    return c -&gt; {\r\n      c.prepareCache(\"biz\", CacheBuilder\r\n              .newInstance(anotherBucket())\r\n              .withExpirationInMillis(2000));\r\n    };\r\n  }\r\n}<\/code><\/pre>\n<p>Essa implementa\u00e7\u00e3o pode usar exibi\u00e7\u00f5es para limpar seletivamente caches que est\u00e3o localizados no mesmo Bucket.<\/p>\n<p>Por fim, ele oferece suporte \u00e0 cria\u00e7\u00e3o din\u00e2mica de caches \u00e0 medida que eles s\u00e3o solicitados. Para ativar isso, simplesmente omita a declara\u00e7\u00e3o de qualquer nome de cache e ative o cache do Couchbase com a propriedade relevante:<\/p>\n<pre class=\"editor-colors lang-text\">spring.cache.type=couchbase\r\n<\/pre>\n<p>Isso usar\u00e1 a configura\u00e7\u00e3o autom\u00e1tica do Spring Boot <code>Balde<\/code> como o bucket padr\u00e3o para todos os caches criados dinamicamente.<\/p>\n<p>Divers\u00e3o com <code>@Cacheable<\/code> espera por voc\u00ea?<\/p>\n<h2 id=\"spring-data-integration\">Integra\u00e7\u00e3o de dados do Spring<\/h2>\n<p><a href=\"https:\/\/projects.spring.io\/spring-data-couchbase\/\">Dados do Spring Couchbase <code>2.1.0<\/code><\/a> (trem de lan\u00e7amento Hopper) incluiu v\u00e1rias modifica\u00e7\u00f5es que facilitam a integra\u00e7\u00e3o com o Spring Boot.<\/p>\n<p>Primeiro, o suspeito de sempre: por padr\u00e3o, o Spring Boot configurar\u00e1 automaticamente o Spring Data Couchbase para usar o <code>Balde<\/code> que ele criou. Isso \u00e9 poss\u00edvel porque as partes principais da configura\u00e7\u00e3o do SDK foram separadas em um <code>Configurador do Couchbase<\/code> enquanto o que \u00e9 realmente espec\u00edfico do Spring Data est\u00e1 localizado em uma nova classe base, <code>AbstractCouchbaseDataConfiguration<\/code>.<\/p>\n<p>Se voc\u00ea usar apenas o Spring Data, poder\u00e1 continuar usando o <code>AbstractCouchbaseConfiguration<\/code>que agora \u00e9 um CouchbaseConfigurer e um AbstractCouchbaseDataConfiguration.<\/p>\n<p>No entanto, se voc\u00ea usar o Spring Boot, ele configurar\u00e1 automaticamente um <code>Configurador do Couchbase<\/code>. Voc\u00ea sempre pode ajustar seu pr\u00f3prio <code>AbstractCouchbaseDataConfiguration<\/code> e injetar o configurador nele.<\/p>\n<h3 id=\"other-spring-data-couchbase-features\">Outros recursos do Spring Data Couchbase<\/h3>\n<p>A vers\u00e3o 2.1.0 tamb\u00e9m inclui alguns novos recursos:<\/p>\n<ul>\n<li>Autom\u00e1tico opcional <code>toque<\/code> (renovando o prazo de validade de um documento) em leituras (<a href=\"https:\/\/jira.spring.io\/browse\/DATACOUCH-59\">DATACOUCH-59<\/a>)<\/li>\n<li>Aprimoramentos na classifica\u00e7\u00e3o e pagina\u00e7\u00e3o (<a href=\"https:\/\/jira.spring.io\/browse\/DATACOUCH-211\">DATACOUCH-211<\/a>, <a href=\"https:\/\/jira.spring.io\/browse\/DATACOUCH-214\">DATACOUCH-214<\/a>)<\/li>\n<li>Foi adicionado suporte para auditoria (por exemplo. <code>@CreatedBy<\/code> anota\u00e7\u00e3o, <a href=\"https:\/\/jira.spring.io\/browse\/DATACOUCH-91\">DATACOUCH-91<\/a>)<\/li>\n<\/ul>\n<h2 id=\"conclusion\">Conclus\u00e3o<\/h2>\n<p>V\u00e1 pegar aquele \u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f\u2b50\ufe0f MILESTONE!<\/p>\n<p>Como sempre, coment\u00e1rios s\u00e3o bem-vindos (no Spring Data <a href=\"https:\/\/jira.spring.io\/browse\/DATACOUCH\">rastreador de problemas<\/a>, Spring Boot <a href=\"https:\/\/github.com\/spring-projects\/spring-boot\/issues?utf8=%E2%9C%93&amp;q=is%3Aissue+couchbase\">rastreador de problemas<\/a> ou no <a href=\"https:\/\/www.couchbase.com\/blog\/pt\/forums\/c\/java-sdk\/\">F\u00f3runs do Couchbase<\/a>).<\/p>\n<p>Boa codifica\u00e7\u00e3o!<\/p>","protected":false},"excerpt":{"rendered":"<p>Spring Boot 1.4.0 MILESTONE 2 is out! This is a good time to tell you about the joint effort between Spring Boot team members and the Couchbase Java SDK team to offer a first class integration of Couchbase into Spring [&hellip;]<\/p>","protected":false},"author":48,"featured_media":13873,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[1818],"tags":[1424,1630,1465],"ppma_author":[9022],"class_list":["post-2226","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-java","tag-spring","tag-spring-boot","tag-spring-data"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.0 (Yoast SEO v26.0) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Couchbase as a First Class Citizen of Spring Boot 1.4 - The Couchbase Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.couchbase.com\/blog\/pt\/spring-boot-couchbase-integration\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Couchbase as a First Class Citizen of Spring Boot 1.4\" \/>\n<meta property=\"og:description\" content=\"Spring Boot 1.4.0 MILESTONE 2 is out! This is a good time to tell you about the joint effort between Spring Boot team members and the Couchbase Java SDK team to offer a first class integration of Couchbase into Spring [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/pt\/spring-boot-couchbase-integration\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2016-04-14T17:44:30+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-08-11T18:37:47+00:00\" \/>\n<meta name=\"author\" content=\"Simon Basle, Software Engineer, Pivotal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Simon Basle, Software Engineer, Pivotal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/spring-boot-couchbase-integration\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/spring-boot-couchbase-integration\/\"},\"author\":{\"name\":\"Simon Basle, Software Engineer, Pivotal\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/a4086d75b59570cc2e5ff66d98c5d1a1\"},\"headline\":\"Couchbase as a First Class Citizen of Spring Boot 1.4\",\"datePublished\":\"2016-04-14T17:44:30+00:00\",\"dateModified\":\"2023-08-11T18:37:47+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/spring-boot-couchbase-integration\/\"},\"wordCount\":593,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/spring-boot-couchbase-integration\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"keywords\":[\"spring\",\"spring-boot\",\"spring-data\"],\"articleSection\":[\"Java\"],\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/spring-boot-couchbase-integration\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/spring-boot-couchbase-integration\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/spring-boot-couchbase-integration\/\",\"name\":\"Couchbase as a First Class Citizen of Spring Boot 1.4 - The Couchbase Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/spring-boot-couchbase-integration\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/spring-boot-couchbase-integration\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"datePublished\":\"2016-04-14T17:44:30+00:00\",\"dateModified\":\"2023-08-11T18:37:47+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/spring-boot-couchbase-integration\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/spring-boot-couchbase-integration\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/spring-boot-couchbase-integration\/#primaryimage\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"width\":1800,\"height\":630},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/spring-boot-couchbase-integration\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Couchbase as a First Class Citizen of Spring Boot 1.4\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"name\":\"The Couchbase Blog\",\"description\":\"Couchbase, the NoSQL Database\",\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-BR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\",\"name\":\"The Couchbase Blog\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"width\":218,\"height\":34,\"caption\":\"The Couchbase Blog\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/a4086d75b59570cc2e5ff66d98c5d1a1\",\"name\":\"Simon Basle, Software Engineer, Pivotal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/4b2bcd169f85f21cee7b8a0e0c9e7854\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/3c3aec94782fea5f0a199368c15e836198faf05c1591e0ae0b91178a59457781?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/3c3aec94782fea5f0a199368c15e836198faf05c1591e0ae0b91178a59457781?s=96&d=mm&r=g\",\"caption\":\"Simon Basle, Software Engineer, Pivotal\"},\"description\":\"Simon Basl_ is a Paris-based Software Engineer working in the Spring team at Pivotal. Previously, he worked in the Couchbase Java SDK team. His interests span software design aspects (OOP, design patterns, software architecture), rich clients, what lies beyond code (continuous integration, (D)VCS, best practices), and reactive programming. He is also an editor for the French version of InfoQ.com.\",\"url\":\"https:\/\/www.couchbase.com\/blog\/pt\/author\/simon-basle\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Couchbase as a First Class Citizen of Spring Boot 1.4 - The Couchbase Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.couchbase.com\/blog\/pt\/spring-boot-couchbase-integration\/","og_locale":"pt_BR","og_type":"article","og_title":"Couchbase as a First Class Citizen of Spring Boot 1.4","og_description":"Spring Boot 1.4.0 MILESTONE 2 is out! This is a good time to tell you about the joint effort between Spring Boot team members and the Couchbase Java SDK team to offer a first class integration of Couchbase into Spring [&hellip;]","og_url":"https:\/\/www.couchbase.com\/blog\/pt\/spring-boot-couchbase-integration\/","og_site_name":"The Couchbase Blog","article_published_time":"2016-04-14T17:44:30+00:00","article_modified_time":"2023-08-11T18:37:47+00:00","author":"Simon Basle, Software Engineer, Pivotal","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Simon Basle, Software Engineer, Pivotal","Est. reading time":"3 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/spring-boot-couchbase-integration\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/spring-boot-couchbase-integration\/"},"author":{"name":"Simon Basle, Software Engineer, Pivotal","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/a4086d75b59570cc2e5ff66d98c5d1a1"},"headline":"Couchbase as a First Class Citizen of Spring Boot 1.4","datePublished":"2016-04-14T17:44:30+00:00","dateModified":"2023-08-11T18:37:47+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/spring-boot-couchbase-integration\/"},"wordCount":593,"commentCount":0,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/spring-boot-couchbase-integration\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","keywords":["spring","spring-boot","spring-data"],"articleSection":["Java"],"inLanguage":"pt-BR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/spring-boot-couchbase-integration\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/spring-boot-couchbase-integration\/","url":"https:\/\/www.couchbase.com\/blog\/spring-boot-couchbase-integration\/","name":"Couchbase as a First Class Citizen of Spring Boot 1.4 - The Couchbase Blog","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/spring-boot-couchbase-integration\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/spring-boot-couchbase-integration\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","datePublished":"2016-04-14T17:44:30+00:00","dateModified":"2023-08-11T18:37:47+00:00","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/spring-boot-couchbase-integration\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/spring-boot-couchbase-integration\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.couchbase.com\/blog\/spring-boot-couchbase-integration\/#primaryimage","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","width":1800,"height":630},{"@type":"BreadcrumbList","@id":"https:\/\/www.couchbase.com\/blog\/spring-boot-couchbase-integration\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Couchbase as a First Class Citizen of Spring Boot 1.4"}]},{"@type":"WebSite","@id":"https:\/\/www.couchbase.com\/blog\/#website","url":"https:\/\/www.couchbase.com\/blog\/","name":"Blog do Couchbase","description":"Couchbase, o banco de dados NoSQL","publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-BR"},{"@type":"Organization","@id":"https:\/\/www.couchbase.com\/blog\/#organization","name":"Blog do Couchbase","url":"https:\/\/www.couchbase.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","width":218,"height":34,"caption":"The Couchbase Blog"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/a4086d75b59570cc2e5ff66d98c5d1a1","name":"Simon Basle, engenheiro de software, Pivotal","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/4b2bcd169f85f21cee7b8a0e0c9e7854","url":"https:\/\/secure.gravatar.com\/avatar\/3c3aec94782fea5f0a199368c15e836198faf05c1591e0ae0b91178a59457781?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/3c3aec94782fea5f0a199368c15e836198faf05c1591e0ae0b91178a59457781?s=96&d=mm&r=g","caption":"Simon Basle, Software Engineer, Pivotal"},"description":"Simon Basl_ \u00e9 um engenheiro de software baseado em Paris que trabalha na equipe Spring da Pivotal. Anteriormente, ele trabalhou na equipe do Couchbase Java SDK. Seus interesses abrangem aspectos de design de software (OOP, padr\u00f5es de design, arquitetura de software), clientes avan\u00e7ados, o que est\u00e1 al\u00e9m do c\u00f3digo (integra\u00e7\u00e3o cont\u00ednua, (D)VCS, pr\u00e1ticas recomendadas) e programa\u00e7\u00e3o reativa. Ele tamb\u00e9m \u00e9 editor da vers\u00e3o francesa do InfoQ.com.","url":"https:\/\/www.couchbase.com\/blog\/pt\/author\/simon-basle\/"}]}},"authors":[{"term_id":9022,"user_id":48,"is_guest":0,"slug":"simon-basle","display_name":"Simon Basle, Software Engineer, Pivotal","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/3c3aec94782fea5f0a199368c15e836198faf05c1591e0ae0b91178a59457781?s=96&d=mm&r=g","author_category":"","last_name":"Basle","first_name":"Simon","job_title":"","user_url":"","description":"Simon Basl_ \u00e9 um engenheiro de software baseado em Paris que trabalha na equipe Spring da Pivotal. Anteriormente, ele trabalhou na equipe do Couchbase Java SDK. Seus interesses abrangem aspectos de design de software (OOP, padr\u00f5es de design, arquitetura de software), clientes avan\u00e7ados, o que est\u00e1 al\u00e9m do c\u00f3digo (integra\u00e7\u00e3o cont\u00ednua, (D)VCS, pr\u00e1ticas recomendadas) e programa\u00e7\u00e3o reativa. Ele tamb\u00e9m \u00e9 editor da vers\u00e3o francesa do InfoQ.com."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts\/2226","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/users\/48"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/comments?post=2226"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts\/2226\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/media\/13873"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/media?parent=2226"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/categories?post=2226"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/tags?post=2226"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/ppma_author?post=2226"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}