(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; } } }
该模块没有启动类,就是为了给别的模块用的~~~~~~~~~下一节见。。。。。。