SpringCloud框架搭建+实际例子+讲解+系列四

(3)公共模块子项目(非重点)

主要是其中有一个redis的配置类。



pom文件如下所示:

<?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>
    <parent>
        <groupId>mymall-master</groupId>
        <artifactId>mymall-master</artifactId>
        <version>1.0-SNAPSHOT</version>
    </parent>

    <groupId>commom-moudle</groupId>
    <artifactId>common-moudle</artifactId>
    <version>1.0-SNAPSHOT</version>

    <dependencies>
        <dependency>
            <groupId>com.google.code.gson</groupId>
            <artifactId>gson</artifactId>
            <version>2.7</version>
        </dependency>
        <dependency>
            <groupId>redis.clients</groupId>
            <artifactId>jedis</artifactId>
        </dependency>
    </dependencies>

</project>

就直接上代码吧:都是配置类和常量,快速略飞过。。。。。。

package com.common.constant;

import java.io.Serializable;
import com.google.gson.annotations.SerializedName;


public class RestApiResult<T> implements Serializable {

    private static final long serialVersionUID = 1L;

    /*成功标识*/
    @SerializedName("success")
    private boolean success;
    /*返回码*/
    @SerializedName("code")
    private String code;
    /*消息,对返回码的补充*/
    @SerializedName("message")
    private String message;
    /*附加信息*/
    @SerializedName("addmessage")
    private Object addmessage;

    public RestApiResult(boolean succ){
        this.success = succ;
    }
    public RestApiResult(boolean succ,String cod){
        this.success = succ;
        this.code = cod;
    }
    public RestApiResult(boolean suc,String cod,String msg){
        this.success = suc;
        this.code = cod;
        this.message = msg;
    }
    public RestApiResult(boolean suc,String cod,String msg,Object addmsg){
        this.success = suc;
        this.code = cod;
        this.message = msg;
        this.addmessage = addmsg;
    }

    public boolean isSuccess() {
        return success;
    }

    public void setSuccess(boolean success) {
        this.success = success;
    }

    public String getCode() {
        return code;
    }

    public void setCode(String code) {
        this.code = code;
    }

    public String getMessage() {
        return message;
    }

    public void setMessage(String message) {
        this.message = message;
    }

    public Object getAddmessage() {
        return addmessage;
    }

    public void setAddmessage(Object addmessage) {
        this.addmessage = addmessage;
    }

}
package com.common.constant;

public class ReturnCode {
    /*操作成功*/
    public static final String OPER_SUCCESS = "OPER_SUCCESS";
    /*操作失败---笼统概念*/
    public static final String OPER_FAILD = "INVALID_VALUE";
    /*无效的请求类型*/
    public static final String INVALID_REQ_BODY_TYPE = "INVALID_REQ_BODY_TYPE";
    /*系统错误---笼统概念*/
    public static final String SYSTEM_ERROR = "SYSTEM_ERROR";
    /*没有找到记录*/
    public static final String NOT_FOUND_RECORD = "NOT_FOUND_RECORD";
    /*无效的值*/
    public static final String INVALID_VALUE = "INVALID_VALUE";
}
package com.common.constant;

public class SystemConstant {

    /*需要去校验token的uri的前缀*/
    public static final String URL_NEED_CHECK_KEY = "url2chk";
}

package com.common.config;

public class RedisConfig {
    public static final String REDIS_IP = "127.0.0.1";
    public static final String AUTH = "";
    public static final int PORT = 6379;
    public static final boolean TEST_ON_BORROW = true;
    public static final boolean TEST_ON_RETURN = true;
    public static final int MAX_ACTIVE = 1024;//最大存活连接
    public static final int MAX_IDLE = 200;//最大连接句柄
    public static final int MAX_WAIT = 1000;//最大等待时间
    public static final int EXPIRE = 60000;//缓存失效时间
}
package com.common.util;


import com.common.config.RedisConfig;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;
import redis.clients.jedis.ShardedJedisPool;

public class JedisUtil {

    private volatile static JedisUtil redis;
    private static JedisPool jedisPool;
    private ShardedJedisPool shardedJedisPoo = null;

    /*对于存储结构为Set类型的操作*/
    public static JedisUtil.Sets SETS = JedisUtil.getInstance().new Sets();

    static{
        if (jedisPool == null){
            JedisPoolConfig config = new JedisPoolConfig();
            config.setMaxTotal(RedisConfig.MAX_ACTIVE);
            config.setMaxIdle(RedisConfig.MAX_IDLE);
            config.setMaxWaitMillis(RedisConfig.MAX_WAIT);
            config.setTestOnBorrow(RedisConfig.TEST_ON_BORROW);
            config.setTestOnReturn(RedisConfig.TEST_ON_RETURN);
            jedisPool = new JedisPool(config,RedisConfig.REDIS_IP,RedisConfig.PORT,2000);
        }
    }
    public static JedisUtil getInstance(){
        if(redis == null){
            synchronized(JedisUtil.class){
                if (redis == null){
                    redis = new JedisUtil();
                }
            }
        }
        return redis;
    }
    protected Jedis getJedis(){
        return jedisPool.getResource();
    }
    protected void returnJedis(Jedis jedis){
        jedis.close();
    }
    /**
     * 设置默认过期时间
     */
    public void expire(String key){
        expire(key,RedisConfig.EXPIRE);
    }
    /**
     * 设置过期时间
     */
    public void expire(String key,int seconds){
        if (seconds<=0){
            return;
        }
        Jedis jedis = getJedis();
        jedis.expire(key,seconds);
        returnJedis(jedis);
    }

    /*======================Sets============================*/
    public class Sets{
        /**
         * 添加值到一个set中
         * @param key 前缀
         * @param member 实际的值
         * @return 成功不成功 0 / 1
         */
        public long sadd(String key,String member){
            Jedis jedis = getJedis();
            long result = jedis.sadd(key,member);
            returnJedis(jedis);
            return result;
        }
        /**
         * 添加值到一个set中
         * @param key 前缀
         * @param member 实际的值
         * @return 成功不成功
         */
        public long sadd(byte[] key,byte[] member){
            Jedis jedis = getJedis();
            long result = jedis.sadd(key,member);
            returnJedis(jedis);
            return result;
        }

        /**
         * 判断某一个值是否在该前缀的Set中
         * @param key 前缀
         * @param member 实际的值
         * @return 成功与否
         */
        public boolean sismember(String key,String member){
            Jedis jedis = getJedis();
            boolean result = jedis.sismember(key,member);
            returnJedis(jedis);
            return result;
        }
    }
}

该模块没有启动类,就是为了给别的模块用的~~~~~~~~~下一节见。。。。。。



猜你喜欢

转载自blog.csdn.net/chaiqunxing51/article/details/80499651