zoukankan      html  css  js  c++  java
  • springdata spring 的nosql的orm框架学习

    使用了spring-data-redis对于redis的orm框架的学习,整理了一下的使用文档

    1.在pom.xml添加一下依赖:

    		<dependencies>		<dependency>
    			<groupId>org.springframework.data</groupId>
    			<artifactId>spring-data-redis</artifactId>
    			<version>1.0.0.RC1</version>
    		</dependency>
    	</dependencies>
    	<repositories>
    	<repository>
    		<id>spring-milestone</id>
    		<name>Spring Maven MILESTONE Repository</name>
    		<url>http://maven.springframework.org/milestone</url>
    	</repository></repositories>

    执行mvn eclipse:eclipse引入依赖包 

     

    2.在工程的classpath目录添加spring的配置文件spring-redis.xml:

    <beans xmlns="http://www.springframework.org/schema/beans"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xmlns:p="http://www.springframework.org/schema/p"
      xsi:schemaLocation="
            http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
      <bean id="jedisFactory" class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory" p:host-name="10.20.150.206" p:port="6379"/>
    
      <bean id="redisTemplate" class="org.springframework.data.redis.core.RedisTemplate"
          p:connection-factory-ref="jedisFactory"/>
    </beans>

    redis服务器的地址改为对应的服务化端口和地址

     

    3.编写测试类代码:

    import org.springframework.context.support.ClassPathXmlApplicationContext;
    import org.springframework.data.redis.core.BoundListOperations;
    import org.springframework.data.redis.core.BoundValueOperations;
    import org.springframework.data.redis.core.RedisTemplate;
    
    public class SpringDataRedis {
    
    	public static void main(String[] args) {
    		ApplicationContext ctx = new ClassPathXmlApplicationContext("spring-redis.xml");
    		RedisTemplate<String,String> template = (RedisTemplate<String,String>)ctx.getBean("redisTemplate");
    		
    		BoundValueOperations<String,String> bounds=template.boundValueOps("aadasfda");
    		bounds.set("aaavadfdlue");
    		boolean success = bounds.persist();
    		System.out.println(success);
    		
    		String value = bounds.get();
    		System.out.println(value);
    		
    		
    		BoundListOperations<String, String> listBounds = template.boundListOps("111");
    		listBounds.rightPush("a");
    		listBounds.rightPush("b");
    		listBounds.rightPush("c");
    		
    		getListValues();
    	}
    	
    	public static void getListValues(){
    		ApplicationContext ctx = new ClassPathXmlApplicationContext("spring-redis.xml");
    		RedisTemplate<String,String> template = (RedisTemplate<String,String>)ctx.getBean("redisTemplate");
    		
    		BoundListOperations<String, String> listBounds = template.boundListOps("111");
    		System.out.println(listBounds.size());
    		System.out.println(listBounds.leftPop());
    	}
    }

    4.执行main函数输出:

    2012-5-24 15:28:53 org.springframework.context.support.AbstractApplicationContext prepareRefresh
    信息: Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@c4bcdc: startup date [Thu May 24 15:28:53 CST 2012]; root of context hierarchy
    2012-5-24 15:28:53 org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
    信息: Loading XML bean definitions from class path resource [spring-redis.xml]
    2012-5-24 15:28:53 org.springframework.beans.factory.support.DefaultListableBeanFactory preInstantiateSingletons
    信息: Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@1292d26: defining beans [jedisFactory,redisTemplate]; root of factory hierarchy
    false
    aaavadfdlue
    2012-5-24 15:28:53 org.springframework.context.support.AbstractApplicationContext prepareRefresh
    信息: Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@ef137d: startup date [Thu May 24 15:28:53 CST 2012]; root of context hierarchy
    2012-5-24 15:28:53 org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
    信息: Loading XML bean definitions from class path resource [spring-redis.xml]
    2012-5-24 15:28:53 org.springframework.beans.factory.support.DefaultListableBeanFactory preInstantiateSingletons
    信息: Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@cdb06e: defining beans [jedisFactory,redisTemplate]; root of factory hierarchy
    3
    a

    有兴趣的可以再看下关于进一步源码框架相关的一篇http://zhwj184.iteye.com/blog/1539857

     

    参考使用文档:

    http://static.springsource.org/spring-data/redis/docs/current/reference/index.html

    https://github.com/SpringSource/spring-data-redis


  • 相关阅读:
    [转]Android SDK更新 Connection to http://dl-ssl.google.com refused 解决方法
    web学习之Django--安装
    P21(系列四) 线性分类9-朴素贝叶斯分类器(Naive Bayes Classifer)===todo
    P20(系列四) 线性分类8-高斯判别分析(Gaussian Discriminant Analysis)-模型求解(求协方差)===todo
    P19(系列四) 线性分类7-高斯判别分析(Gaussian Discriminant Analysis)-模型求解(求期望)===todo
    P18(系列四) 线性分类7-高斯判别分析(Gaussian Discriminant Analysis)-模型求解(求期望)
    P18(系列四) 线性分类6-高斯判别分析(Gaussian Discriminant Analysis)-模型定义===todo
    P17(系列四) 线性分类5-逻辑回归(Logistic Regression)===todo
    科技竞争的时代已经来临,科技人才如何把握机遇?
    Java与Kotlin, 哪个是开发安卓应用的首选语言?
  • 原文地址:https://www.cnblogs.com/secbook/p/2655169.html
Copyright © 2011-2022 走看看