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>
-
- </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);
- }
-
-
-
- }
这样以后直接使用CouchbaseTemplate的实例就可以了。
由于spring没有自己的事务管理,所以我们还要为它单独写一个事务。