<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    少年阿賓

    那些青春的歲月

      BlogJava :: 首頁(yè) :: 聯(lián)系 :: 聚合  :: 管理
      500 Posts :: 0 Stories :: 135 Comments :: 0 Trackbacks
    spring-data-redis下載地址:
    http://www.springsource.org/download/community?project=Spring%2520Data%2520Redis&version=1.0.1.RELEASE


    //spring-redis.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"
    xmlns:cache="http://www.springframework.org/schema/cache"
    xmlns:context="http://www.springframework.org/schema/context"
    xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:oxm="http://www.springframework.org/schema/oxm"
    xmlns:p="http://www.springframework.org/schema/p" xmlns:util="http://www.springframework.org/schema/util"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd  
    http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.1.xsd  
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd  
        http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.1.xsd
        http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.1.xsd">
    <context:annotation-config />
    <context:component-scan base-package="com.abin.lee.spring.redis"></context:component-scan>
    <context:property-placeholder location="classpath:com/abin/lee/spring/redis/redis.properties" />
    <!-- 對(duì)象池配置: -->
    <bean
    id="jedisPoolConfig"
    class="redis.clients.jedis.JedisPoolConfig">
    <property
    name="maxActive"
    value="${redis.pool.maxActive}" />
    <property
    name="maxIdle"
    value="${redis.pool.maxIdle}" />
    <property
    name="maxWait"
    value="${redis.pool.maxWait}" />
    <property
    name="testOnBorrow"
    value="${redis.pool.testOnBorrow}" />
    </bean>
    <!-- 工廠實(shí)現(xiàn): -->
    <bean
    id="jedisConnectionFactory"
    class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory">
    <property
    name="hostName"
    value="${redis.ip}" />
    <property
    name="port"
    value="${redis.port}" />
    <property
    name="poolConfig"
    ref="jedisPoolConfig" />
    </bean>
    <!--模板類: -->
    <bean
    class="org.springframework.data.redis.core.RedisTemplate"
    p:connection-factory-ref="jedisConnectionFactory" />
    </beans>






    //User.java
    package com.abin.lee.spring.redis.pojo;
    import java.io.Serializable;
    public class User implements Serializable {
    /**
    */
    private static final long serialVersionUID = 2668307865623183776L;
    private String uid;
    private String address;
    public User() {
    super();
    }
    public User(String uid, String address) {
    super();
    this.uid = uid;
    this.address = address;
    }
    public String getUid() {
    return uid;
    }
    public void setUid(String uid) {
    this.uid = uid;
    }
    public String getAddress() {
    return address;
    }
    public void setAddress(String address) {
    this.address = address;
    }
    @Override
    public String toString() {
    return "User [uid=" + uid + ", address=" + address + "]";
    }
    @Override
    public int hashCode() {
    final int prime = 31;
    int result = 1;
    result = prime * result + ((address == null) ? 0 : address.hashCode());
    result = prime * result + ((uid == null) ? 0 : uid.hashCode());
    return result;
    }
    @Override
    public boolean equals(Object obj) {
    if (this == obj)
    return true;
    if (obj == null)
    return false;
    if (getClass() != obj.getClass())
    return false;
    User other = (User) obj;
    if (address == null) {
    if (other.address != null)
    return false;
    } else if (!address.equals(other.address))
    return false;
    if (uid == null) {
    if (other.uid != null)
    return false;
    } else if (!uid.equals(other.uid))
    return false;
    return true;
    }
    }






    //UserDao.java
    package com.abin.lee.spring.redis.dao;
    import com.abin.lee.spring.redis.pojo.User;
    public interface UserDao {
    /**
    * @param uid
    * @param address
    */
    void save(User user);
    /**
    * @param uid
    * @return
    */
    User read(String uid);
    /**
    * @param uid
    */
    void delete(String uid);
    }





    //UserDaoImpl.java
    package com.abin.lee.spring.redis.dao.impl;
    import java.io.Serializable;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.dao.DataAccessException;
    import org.springframework.data.redis.connection.RedisConnection;
    import org.springframework.data.redis.core.RedisCallback;
    import org.springframework.data.redis.core.RedisTemplate;
    import org.springframework.stereotype.Repository;
    import com.abin.lee.spring.redis.dao.UserDao;
    import com.abin.lee.spring.redis.pojo.User;
    @Repository("userDao")
    public class UserDaoImpl implements UserDao{
    @Autowired
    private RedisTemplate<Serializable, Serializable> redisTemplate;
    @Override
    public void save(final User user) {
    redisTemplate.execute(new RedisCallback<Object>() {
    @Override
    public Object doInRedis(RedisConnection connection)
    throws DataAccessException {
    connection.set(
    redisTemplate.getStringSerializer().serialize(
    "user.uid." + user.getUid()),
    redisTemplate.getStringSerializer().serialize(
    user.getAddress()));
    return null;
    }
    });
    }
    @Override
    public User read(final String uid) {
    return redisTemplate.execute(new RedisCallback<User>() {
    @Override
    public User doInRedis(RedisConnection connection)
    throws DataAccessException {
    byte[] key = redisTemplate.getStringSerializer().serialize(
    "user.uid." + uid);
    if (connection.exists(key)) {
    byte[] value = connection.get(key);
    String address = redisTemplate.getStringSerializer()
    .deserialize(value);
    User user = new User();
    user.setAddress(address);
    user.setUid(uid);
    return user;
    }
    return null;
    }
    });
    }
    @Override
    public void delete(final String uid) {
    redisTemplate.execute(new RedisCallback<Object>() {
    public Object doInRedis(RedisConnection connection) {
    connection.del(redisTemplate.getStringSerializer().serialize(
    "user.uid." + uid));
    return null;
    }
    });
    }
    }


    //UserDaoTest.java
    package com.abin.lee.spring.redis.dao.test;
    import static org.junit.Assert.assertEquals;
    import static org.junit.Assert.assertNull;
    import org.junit.Before;
    import org.junit.Test;
    import org.springframework.context.ApplicationContext;
    import org.springframework.context.support.ClassPathXmlApplicationContext;
    import com.abin.lee.spring.redis.dao.UserDao;
    import com.abin.lee.spring.redis.pojo.User;
    public class UserDaoTest {
    private ApplicationContext app;
    private UserDao userDao;
    @Before
    public void before() throws Exception {
    app = new ClassPathXmlApplicationContext("com/abin/lee/spring/redis/spring-redis.xml");
    userDao = (UserDao) app.getBean("userDao");
    }
    @Test
    public void crud() {
    // -------------- Create ---------------
    String uid = "u123456";
    String address1 = "上海";
    User user = new User();
    user.setAddress(address1);
    user.setUid(uid);
    userDao.save(user);
    // ---------------Read ---------------
    user = userDao.read(uid);
    System.out.println("address1="+user.getAddress());
    assertEquals(address1, user.getAddress());
    // --------------Update ------------
    String address2 = "北京";
    user.setAddress(address2);
    userDao.save(user);
    user = userDao.read(uid);
    System.out.println("address2Save="+user.getAddress());
    assertEquals(address2, user.getAddress());
    // --------------Delete ------------
    userDao.delete(uid);
    user = userDao.read(uid);
    System.out.println("addressdel="+user.getAddress());
    assertNull(user);
    }
    }





    posted on 2012-11-14 23:17 abin 閱讀(13179) 評(píng)論(2)  編輯  收藏 所屬分類: Redis

    Feedback

    # re: spring redis整合(一)[未登錄](méi) 2013-08-17 11:40 redis
    你好!

    謝謝你的博文

    想請(qǐng)教您一個(gè)問(wèn)題

    為什么在WEB下 這個(gè)會(huì)有問(wèn)題呢  回復(fù)  更多評(píng)論
      

    # re: spring redis整合(一) 2015-07-02 17:41 zuidaima
    springdata demo教程源代碼下載 :http://zuidaima.com/share/kspringdata-p1-s1.htm  回復(fù)  更多評(píng)論
      


    只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 亚洲专区一路线二| 99久热只有精品视频免费观看17| 337p日本欧洲亚洲大胆精品555588| 亚洲午夜久久久久久尤物| 国产乱辈通伦影片在线播放亚洲| 成人女人A级毛片免费软件| 国产在线观看免费av站| 色欲aⅴ亚洲情无码AV蜜桃| 亚洲成a人片在线观看中文!!! | 亚洲乱亚洲乱淫久久| 久久国产色AV免费观看| 黄 色一级 成 人网站免费| 精品亚洲成a人在线观看| 亚洲熟伦熟女专区hd高清| 亚洲人成影院午夜网站| 亚洲精品人成电影网| 免费看国产精品麻豆| 东北美女野外bbwbbw免费| 男女猛烈无遮掩视频免费软件| 亚洲av无码一区二区三区不卡 | 亚洲综合偷自成人网第页色| 亚洲日韩在线视频| 亚洲美女在线观看播放| 亚洲人成依人成综合网| 亚洲色图在线播放| 久久久久久久亚洲Av无码| 亚洲一区二区三区首页| 亚洲高清在线观看| 亚洲视频免费在线观看| 亚洲一二成人精品区| 亚洲福利在线观看| 亚洲精品美女视频| 亚洲成在人线中文字幕| 亚洲一本之道高清乱码| 99久久国产亚洲综合精品| 亚洲一区二区三区国产精华液| 亚洲色大成WWW亚洲女子| 国产成人亚洲毛片| sihu国产精品永久免费| a级精品九九九大片免费看| 精品亚洲成A人在线观看青青|