使用Maven搭建Spring结合Jedis

1.Spring结合单机版Jedis

pom.xml:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <packaging>jar</packaging>
    <groupId>com.bjsxt</groupId>
    <artifactId>SpringJedisDemo</artifactId>
    <version>1.0-SNAPSHOT</version>

    <dependencies>
        <!-- https://mvnrepository.com/artifact/redis.clients/jedis -->
        <dependency>
            <!--注入Redis坐标-->
            <groupId>redis.clients</groupId>
            <artifactId>jedis</artifactId>
            <version>2.9.0</version>
        </dependency>


        <dependency>
            <!--注入spring坐标-->
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>4.1.3.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-beans</artifactId>
            <version>4.1.3.RELEASE</version>
        </dependency>

    </dependencies>


</project>

JedisDao接口:

package com.bjsxt.jedisdao;

public interface JedisDao {

    public String set(String key,String value);

    public String get(String key);

    public Long hset(String hkey,String key,String value);

    public String hget(String hkey,String key);
}

JedisDaoImplSingle实现类:

package com.bjsxt.jedisdao.impl;


import com.bjsxt.jedisdao.JedisDao;
import org.springframework.beans.factory.annotation.Autowired;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;

public class JedisDaoImplSingle implements JedisDao {
    @Autowired
    private JedisPool jedisPool; //需要从xml文件中配置从而初始化
    @Override
    public String set(String key, String value) {
        //由jedisPool创建jedis对象
        Jedis jedis = this.jedisPool.getResource();

        return jedis.set(key, value);
    }

    @Override
    public String get(String key) {
        //由jedisPool创建jedis对象
        Jedis jedis = this.jedisPool.getResource();
        return jedis.get(key);
    }

    @Override
    public Long hset(String hkey, String key, String value) {
        //由jedisPool创建jedis对象
        Jedis jedis = this.jedisPool.getResource();
        return jedis.hset(hkey, key, value);
    }

    @Override
    public String hget(String hkey, String key) {
        //由jedisPool创建jedis对象
        Jedis jedis = this.jedisPool.getResource();
        return jedis.hget(hkey, key);
    }
}

applicationContext-jedis.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:p="http://www.springframework.org/schema/p"
        xmlns:context="http://www.springframework.org/schema/context"
        xmlns:mvc="http://www.springframework.org/schema/mvc"
        xsi:schemaLocation="http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/mvc
        http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context.xsd">

    <!--开启注解扫描-->
    <context:component-scan base-package="com.bjsxt.jedisdao"></context:component-scan>

    <!--配置扫描实现类JedisDaoImplSingle:从而被初始化-->
    <!--<bean id="jedisDaoImplSingle" class="com.bjsxt.jedisdao.impl.JedisDaoImplSingle"></bean>-->


    <!-- jedisPool 的配置 -->
    <bean id="poolconfig" class="redis.clients.jedis.JedisPoolConfig">
        <!-- 最大连接数 -->
        <property name="maxTotal" value="30"/>
        <!-- 最大空闲连接数 -->
        <property name="maxIdle" value="10"/>
        <!-- 每次释放连接的最大数目 -->
        <property name="numTestsPerEvictionRun" value="1024"/>
        <!-- 释放连接的扫描间隔(毫秒) -->
        <property name="timeBetweenEvictionRunsMillis" value="30000"/>
        <!-- 连接最小空闲时间 -->
        <property name="minEvictableIdleTimeMillis" value="1800000"/>
        <!-- 连接空闲多久后释放, 当空闲时间>该值 且 空闲连接>最大空闲连接数 时直接释放 -->
        <property name="softMinEvictableIdleTimeMillis" value="10000"/>
        <!-- 获取连接时的最大等待毫秒数,小于零:阻塞不 确定的时间,默认-1 -->
        <property name="maxWaitMillis" value="1500"/>
        <!-- 在获取连接的时候检查有效性, 默认 false-->
        <property name="testOnBorrow" value="true"/>
        <!-- 在空闲时检查有效性, 默认 false -->
        <property name="testWhileIdle" value="true"/>
        <!-- 连接耗尽时是否阻塞, false 报异常,ture 阻塞直到超时, 默认 true -->
        <property name="blockWhenExhausted" value="false"/>
    </bean>
    <!--配置jedisPool:并且用构造器传入参数-->
    <bean id="jedisPool" class="redis.clients.jedis.JedisPool">
        <constructor-arg name="poolConfig">
            <ref bean="poolconfig"/>
        </constructor-arg>
        <constructor-arg name="host">
            <value>192.168.92.130</value>
        </constructor-arg>
        <constructor-arg name="port">
            <value>6379</value>
        </constructor-arg>
    </bean>
</beans>

测试类:

public class TestSpringJedis {

    public static void main(String[] args) {
            TestSpringJedis.testSpringJrdisSingle();
        
    }
    /*单机版*/
    public static void testSpringJrdisSingle(){
        //启动xml文件
        ApplicationContext ac=new ClassPathXmlApplicationContext("applicationContext-Jedis.xml");
        //获取对象
        JedisDao jd = (JedisDao)ac.getBean("jedisDaoImplSingle");
        //对象调用方法
        String set = jd.set("jedis", "springJedis");
        System.out.println(set);
        String get = jd.get("jedis");
        System.out.println(get);


    }
}

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值