`
zhaoImpulse
  • 浏览: 80580 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

用spring托管couchbase

阅读更多

couchbase是一个很强大的nosql数据库,但现在几乎没有一个框架语言支持它,所以在javaweb中不能不能使用hibernate等orm框架来管理它,只能我们自己管理。

spring托管couchbase的方法

 

先创建一个couchbaseDB.properties文件来作为数据库的配置。

 

couchBase.name=draw
couchBase.server=localhost:8091
couchBase.pwd=123

 

 其中couchBase.server可能有很多个,如果有多个,那么多个值用“,”分隔开,比如

 

couchBase.server=localhost:8091,192.168.0.3:8091

然后创建app_couchbase.xml文件来配置couchbase

 

	<bean id="couchbaseConnector" class="com.impulse.couchbase.CouchbaseConnector"
		destroy-method="close">
		<property name="serverAddress">
			<value>${couchBase.server}</value>
		</property>
		<property name="name">
			<value>${couchBase.name}</value>
		</property>
		<property name="pwd">
			<value>${couchBase.pwd}</value>
		</property>
		
	</bean>
	<bean id="couchbaseTemplate" class="com.impulse.couchbase.CouchbaseTemplate">
		<constructor-arg>
			<ref bean="couchbaseConnector" />
		</constructor-arg>
		<!-- <property name="couchbaseConnector" ref="couchbaseConnector" /> -->
	</bean>

  以后操作couchbase就使用类com.impulse.couchbase.CouchbaseTemplate

 

然后创建app_common.xml用来做spring的基本配置

 

	<context:annotation-config />
	<aop:aspectj-autoproxy></aop:aspectj-autoproxy>
	<bean id="porpertyLoder"
		class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
		<property name="location">
			<value>classpath:couchbaseDB.properties</value>
		</property>
	</bean>
	<import resource="app_couchbase.xml"/>

 

再创建类文件CouchbaseConnector来用来创建对couchbase的连接

 

public class CouchbaseConnector {
	private String serverAddress;
	private String name;
	private String pwd;

	public CouchbaseConnectionFactory connect() {
		CouchbaseConnectionFactory cf = null;
		try {
			String[] serverNames = serverAddress.split(",");
			ArrayList<URI> serverList = new ArrayList<URI>();
			for (String serverName : serverNames) {
				URI base = null;
				base = URI.create(String.format("http://%s/pools",serverName));
				serverList.add(base);
			}
			cf = new CouchbaseConnectionFactory(
					serverList, name, pwd);
			return cf;
		} catch (Exception e) {
			e.printStackTrace();
			return null;
		}
	}
	
	public void close(){
		
	}

	public String getServerAddress() {
		return serverAddress;
	}

	public void setServerAddress(String serverAddress) {
		this.serverAddress = serverAddress;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getPwd() {
		return pwd;
	}

	public void setPwd(String pwd) {
		this.pwd = pwd;
	}
}

 

再创建CouchbaseTemplate来封装CouchbaseClient的功能

 

public class CouchbaseTemplate extends CouchbaseClient{
	
	public CouchbaseTemplate(CouchbaseConnector couchbaseConnector) throws IOException{
		super(couchbaseConnector.connect());
	}
	
	public void add(String key,Object value){
		this.add(key, 0, value);
	}
	
	//这里可以创建一些别的方法来封装CouchbaseClient

}

  这样以后直接使用CouchbaseTemplate的实例就可以了。

由于spring没有自己的事务管理,所以我们还要为它单独写一个事务。

 

分享到:
评论

相关推荐

    Spring Data Couchbase API(Spring Data Couchbase 开发文档).CHM

    Spring Data Couchbase API(Spring Data Couchbase 开发文档).CHM。 官网 Spring Data Couchbase API

    SpringDataCouchbase.zip

    特性:Spring 配置支持使用基于 Java 的 @Configuration 类,或者用于 Couchbase 驱动的 XML 命名空间。CouchbaseTemplate 帮助类,提高一般 Couchbase 操作的效率, 包含对文档和 POJO 集成对象的映射。集成 Spring...

    spring-data-couchbase-talk:spring-data-couchbase-talk

    使用 Spring Data Couchbase v1.0, 2014-10-05 这是集成的演示。 从,Spring Data Couchbase 是: Spring Data Couchbase 项目提供与 Couchbase Server 数据库的集成。 Spring Data Couchbase 的关键功能领域是...

    spring-session-couchbase:Spring Session Couchbase的实现

    Spring会议Couchbase Spring Session的Couchbase实现。 这只是为了娱乐,决不准备生产。...您可以在找到使用Spring Session的文档,问题管理,支持,示例和指南。 执照 Spring Session是在下发行的开放源代码软件。

    oauth2-server-spring-couchbase:基于 Spring Security OAuth2 和 Couchbase 的 OAuth2 授权服务器

    oauth2-server-spring-couchbase 基于 Spring Security OAuth2 和 Couchbase 的 OAuth2 授权服务器 ![spring-oauth2-couchbase] ( ) 这是基于 Spring Security OAuth2 的基本授权服务器。 主要目标是向您展示如何...

    java查看spring源码-spring-data-couchbase:SpringDataCouchbase

    java查看spring源码 Spring Data Couchbase 该项目的主要目标是使构建使用新数据访问技术(例如非关系数据库、map-reduce 框架和基于云的数据服务)的 Spring 驱动的应用程序变得更加容易。 Spring Data Couchbase ...

    spring-session-data-couchbase:将Spring Session存储到Couchbase

    Spring会议Couchbase Spring Session Couchbase在Couchbase数据存储中提供了针对Spring Session的解决方案。 从任何环境(例如,Web,消息传递基础结构等)访问会话在网络环境中支持以供应商中立的方式进行集群用于...

    common-thrift-bson-3.0.0-M2.zip

    Spring Data Couchbase 提供了一个抽象层,允许开发者使用熟悉的 Spring 模式来操作 Couchbase 数据库。这包括注解驱动的 CRUD 操作、查询方法的自动声明、以及对 Couchbase 客户端 API 的封装。 在 "spring-data-...

    couchbase的使用手册

    - **准备阶段**:在安装Couchbase Server之前,需要了解支持的平台、硬件需求、存储需求、管理用的Web浏览器以及网络端口等信息。 - **安装过程**:文档中列出了在不同操作系统上安装Couchbase Server的具体步骤。 ...

    Couchbase

    标签“源码”和“工具”暗示了这篇博客可能深入到Couchbase的内部工作原理,或者提供了使用Couchbase的开发工具或SDK的相关信息。对于“源码”,可能讨论了Couchbase的部分源代码结构,开发者如何阅读和理解源码,...

    Couchbase使用说明文档4.10

    ### Couchbase 使用说明文档4.10:关键知识点解析 #### 一、Couchbase Server 概览 **1.1 松散的数据组织方式** Couchbase Server 的一大特点在于其灵活的数据组织形式,主要表现为对JSON文档的支持。这意味着...

    couchbase c++实列代码

    1. **Couchbase C++ SDK**: Couchbase提供了C++ SDK,允许开发者使用C++与Couchbase服务器通信。安装SDK后,可以通过头文件和库来集成到项目中。 2. **连接集群**: 首先,需要创建一个`Couchbase::Cluster`实例,...

    couchbase 社区版5.11

    Couchbase还支持索引和查询服务,其中N1QL(Couchbase SQL over JSON)是一种强大的查询语言,允许开发者使用类似SQL的方式来查询JSON文档。N1QL提供了一种熟悉且高效的查询方式,同时保留了NoSQL的灵活性。 对于...

    reactive-couchbase:可观察的 Couchbase 存储库

    Spring Data Couchbase 当前使用同步 Couchbase Java SDK 1.x。 Java SDK 2 提供批处理,大大提高了性能: : 但是 Java SDK 2.x 是相当低级的。 它包含一个像 Spring Data 这样的高级存储库,而 Spring Data 在 ...

    Couchbase4.5.1-el6安装包

    5. SQL-like查询:N1QL(Couchbase Query Language)是Couchbase 4.5.1引入的一个重要特性,允许开发者使用类似SQL的语法来查询JSON文档,增强了开发者的效率和灵活性。 6. 安装与部署:描述中提到的“自动化安装包...

    couchbase中文

    Couchbase是一款高性能的NoSQL数据库,以分布式内存为中心,支持文档型数据模型。它能够单独运行,也可以形成集群以实现更大规模的数据管理和处理。在Couchbase集群中,各个节点是平等的,它们共同承载数据,没有...

    Laravel开发-laravel-couchbase

    "Laravel开发-laravel-couchbase"这个项目专注于在Laravel 5.6版本中使用Couchbase作为数据存储解决方案。 Couchbase是一个分布式多模型数据库,支持文档型数据、键值对数据和图形数据。其特点是高度可扩展性和高...

Global site tag (gtag.js) - Google Analytics