diff --git a/spring-boot-starters/wx-java-miniapp-spring-boot-starter/README.md b/spring-boot-starters/wx-java-miniapp-spring-boot-starter/README.md
index e58dfc8c8..3d4fae241 100644
--- a/spring-boot-starters/wx-java-miniapp-spring-boot-starter/README.md
+++ b/spring-boot-starters/wx-java-miniapp-spring-boot-starter/README.md
@@ -18,12 +18,12 @@
wx.miniapp.msgDataFormat = @msgDataFormat # 消息格式,XML或者JSON.
# 存储配置redis(可选)
# 注意: 指定redis.host值后不会使用容器注入的redis连接(JedisPool)
- wx.miniapp.config-storage.type = jedis # 配置类型: memory(默认), jedis, redistemplate
+ wx.miniapp.config-storage.type = Jedis # 配置类型: Memory(默认), Jedis, RedisTemplate
wx.miniapp.config-storage.key-prefix = wa # 相关redis前缀配置: wa(默认)
wx.miniapp.config-storage.redis.host = 127.0.0.1
wx.miniapp.config-storage.redis.port = 6379
# http客户端配置
- wx.miniapp.config-storage.http-client-type=httpclient # http客户端类型: httpclient(默认)
+ wx.miniapp.config-storage.http-client-type=HttpClient # http客户端类型: HttpClient(默认)
wx.miniapp.config-storage.http-proxy-host=
wx.miniapp.config-storage.http-proxy-port=
wx.miniapp.config-storage.http-proxy-username=
diff --git a/spring-boot-starters/wx-java-miniapp-spring-boot-starter/pom.xml b/spring-boot-starters/wx-java-miniapp-spring-boot-starter/pom.xml
index f710eb137..dc63257c7 100644
--- a/spring-boot-starters/wx-java-miniapp-spring-boot-starter/pom.xml
+++ b/spring-boot-starters/wx-java-miniapp-spring-boot-starter/pom.xml
@@ -22,13 +22,11 @@
redis.clients
jedis
- provided
org.springframework.data
spring-data-redis
${spring.boot.version}
- provided
diff --git a/spring-boot-starters/wx-java-miniapp-spring-boot-starter/src/main/java/com/binarywang/spring/starter/wxjava/miniapp/config/WxMaAutoConfiguration.java b/spring-boot-starters/wx-java-miniapp-spring-boot-starter/src/main/java/com/binarywang/spring/starter/wxjava/miniapp/config/WxMaAutoConfiguration.java
index 1c6d7865f..ab843ab5b 100644
--- a/spring-boot-starters/wx-java-miniapp-spring-boot-starter/src/main/java/com/binarywang/spring/starter/wxjava/miniapp/config/WxMaAutoConfiguration.java
+++ b/spring-boot-starters/wx-java-miniapp-spring-boot-starter/src/main/java/com/binarywang/spring/starter/wxjava/miniapp/config/WxMaAutoConfiguration.java
@@ -5,6 +5,9 @@ import cn.binarywang.wx.miniapp.api.impl.WxMaServiceImpl;
import cn.binarywang.wx.miniapp.config.WxMaConfig;
import cn.binarywang.wx.miniapp.config.impl.WxMaDefaultConfigImpl;
import cn.binarywang.wx.miniapp.config.impl.WxMaRedisBetterConfigImpl;
+import com.binarywang.spring.starter.wxjava.miniapp.enums.StorageType;
+import com.binarywang.spring.starter.wxjava.miniapp.properties.ConfigStorage;
+import com.binarywang.spring.starter.wxjava.miniapp.properties.RedisProperties;
import com.binarywang.spring.starter.wxjava.miniapp.properties.WxMaProperties;
import lombok.AllArgsConstructor;
import me.chanjar.weixin.common.redis.JedisWxRedisOps;
@@ -54,14 +57,17 @@ public class WxMaAutoConfiguration {
@Bean
@ConditionalOnMissingBean(WxMaConfig.class)
public WxMaConfig wxMaConfig() {
- WxMaProperties.StorageType type = wxMaProperties.getConfigStorage().getType();
WxMaDefaultConfigImpl config;
- if (type == WxMaProperties.StorageType.jedis) {
- config = wxMaInJedisConfigStorage();
- } else if (type == WxMaProperties.StorageType.redistemplate) {
- config = wxMaInRedisTemplateConfigStorage();
- } else {
- config = wxMaInMemoryConfigStorage();
+ switch (wxMaProperties.getConfigStorage().getType()) {
+ case Jedis:
+ config = wxMaJedisConfigStorage();
+ break;
+ case RedisTemplate:
+ config = wxMaRedisTemplateConfigStorage();
+ break;
+ default:
+ config = wxMaDefaultConfigStorage();
+ break;
}
config.setAppid(StringUtils.trimToNull(this.wxMaProperties.getAppid()));
@@ -70,7 +76,7 @@ public class WxMaAutoConfiguration {
config.setAesKey(StringUtils.trimToNull(this.wxMaProperties.getAesKey()));
config.setMsgDataFormat(StringUtils.trimToNull(this.wxMaProperties.getMsgDataFormat()));
- WxMaProperties.ConfigStorage configStorageProperties = wxMaProperties.getConfigStorage();
+ ConfigStorage configStorageProperties = wxMaProperties.getConfigStorage();
config.setHttpProxyHost(configStorageProperties.getHttpProxyHost());
config.setHttpProxyUsername(configStorageProperties.getHttpProxyUsername());
config.setHttpProxyPassword(configStorageProperties.getHttpProxyPassword());
@@ -80,13 +86,12 @@ public class WxMaAutoConfiguration {
return config;
}
- private WxMaDefaultConfigImpl wxMaInMemoryConfigStorage() {
- WxMaDefaultConfigImpl config = new WxMaDefaultConfigImpl();
- return config;
+ private WxMaDefaultConfigImpl wxMaDefaultConfigStorage() {
+ return new WxMaDefaultConfigImpl();
}
- private WxMaDefaultConfigImpl wxMaInJedisConfigStorage() {
- WxMaProperties.RedisProperties redisProperties = wxMaProperties.getConfigStorage().getRedis();
+ private WxMaDefaultConfigImpl wxMaJedisConfigStorage() {
+ RedisProperties redisProperties = wxMaProperties.getConfigStorage().getRedis();
JedisPool jedisPool;
if (redisProperties != null && StringUtils.isNotEmpty(redisProperties.getHost())) {
jedisPool = getJedisPool();
@@ -94,20 +99,18 @@ public class WxMaAutoConfiguration {
jedisPool = applicationContext.getBean(JedisPool.class);
}
WxRedisOps redisOps = new JedisWxRedisOps(jedisPool);
- WxMaRedisBetterConfigImpl wxMaRedisConfig = new WxMaRedisBetterConfigImpl(redisOps, wxMaProperties.getConfigStorage().getKeyPrefix());
- return wxMaRedisConfig;
+ return new WxMaRedisBetterConfigImpl(redisOps, wxMaProperties.getConfigStorage().getKeyPrefix());
}
- private WxMaDefaultConfigImpl wxMaInRedisTemplateConfigStorage() {
+ private WxMaDefaultConfigImpl wxMaRedisTemplateConfigStorage() {
StringRedisTemplate redisTemplate = applicationContext.getBean(StringRedisTemplate.class);
WxRedisOps redisOps = new RedisTemplateWxRedisOps(redisTemplate);
- WxMaRedisBetterConfigImpl wxMaRedisConfig = new WxMaRedisBetterConfigImpl(redisOps, wxMaProperties.getConfigStorage().getKeyPrefix());
- return wxMaRedisConfig;
+ return new WxMaRedisBetterConfigImpl(redisOps, wxMaProperties.getConfigStorage().getKeyPrefix());
}
private JedisPool getJedisPool() {
- WxMaProperties.ConfigStorage storage = wxMaProperties.getConfigStorage();
- WxMaProperties.RedisProperties redis = storage.getRedis();
+ ConfigStorage storage = wxMaProperties.getConfigStorage();
+ RedisProperties redis = storage.getRedis();
JedisPoolConfig config = new JedisPoolConfig();
if (redis.getMaxActive() != null) {
diff --git a/spring-boot-starters/wx-java-miniapp-spring-boot-starter/src/main/java/com/binarywang/spring/starter/wxjava/miniapp/enums/HttpClientType.java b/spring-boot-starters/wx-java-miniapp-spring-boot-starter/src/main/java/com/binarywang/spring/starter/wxjava/miniapp/enums/HttpClientType.java
new file mode 100644
index 000000000..18ca00dd7
--- /dev/null
+++ b/spring-boot-starters/wx-java-miniapp-spring-boot-starter/src/main/java/com/binarywang/spring/starter/wxjava/miniapp/enums/HttpClientType.java
@@ -0,0 +1,14 @@
+package com.binarywang.spring.starter.wxjava.miniapp.enums;
+
+/**
+ * httpclient类型.
+ *
+ * @author Binary Wang
+ * @date 2020-05-25
+ */
+public enum HttpClientType {
+ /**
+ * HttpClient.
+ */
+ HttpClient
+}
diff --git a/spring-boot-starters/wx-java-miniapp-spring-boot-starter/src/main/java/com/binarywang/spring/starter/wxjava/miniapp/enums/StorageType.java b/spring-boot-starters/wx-java-miniapp-spring-boot-starter/src/main/java/com/binarywang/spring/starter/wxjava/miniapp/enums/StorageType.java
new file mode 100644
index 000000000..9328980bb
--- /dev/null
+++ b/spring-boot-starters/wx-java-miniapp-spring-boot-starter/src/main/java/com/binarywang/spring/starter/wxjava/miniapp/enums/StorageType.java
@@ -0,0 +1,22 @@
+package com.binarywang.spring.starter.wxjava.miniapp.enums;
+
+/**
+ * storage类型.
+ *
+ * @author Binary Wang
+ * @date 2020-05-25
+ */
+public enum StorageType {
+ /**
+ * 内存.
+ */
+ Memory,
+ /**
+ * redis(JedisClient).
+ */
+ Jedis,
+ /**
+ * redis(RedisTemplate).
+ */
+ RedisTemplate
+}
diff --git a/spring-boot-starters/wx-java-miniapp-spring-boot-starter/src/main/java/com/binarywang/spring/starter/wxjava/miniapp/properties/ConfigStorage.java b/spring-boot-starters/wx-java-miniapp-spring-boot-starter/src/main/java/com/binarywang/spring/starter/wxjava/miniapp/properties/ConfigStorage.java
new file mode 100644
index 000000000..921075d1d
--- /dev/null
+++ b/spring-boot-starters/wx-java-miniapp-spring-boot-starter/src/main/java/com/binarywang/spring/starter/wxjava/miniapp/properties/ConfigStorage.java
@@ -0,0 +1,65 @@
+package com.binarywang.spring.starter.wxjava.miniapp.properties;
+
+import com.binarywang.spring.starter.wxjava.miniapp.enums.HttpClientType;
+import com.binarywang.spring.starter.wxjava.miniapp.enums.StorageType;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+
+/**
+ * 存储策略.
+ *
+ * @author Binary Wang
+ * @date 2020-05-25
+ */
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+@Accessors(chain = true)
+public class ConfigStorage implements Serializable {
+ private static final long serialVersionUID = 4815731027000065434L;
+
+ /**
+ * 存储类型.
+ */
+ private StorageType type = StorageType.Memory;
+
+ /**
+ * 指定key前缀.
+ */
+ private String keyPrefix = "wa";
+
+ /**
+ * redis连接配置.
+ */
+ private RedisProperties redis;
+
+ /**
+ * http客户端类型.
+ */
+ private HttpClientType httpClientType = HttpClientType.HttpClient;
+
+ /**
+ * http代理主机.
+ */
+ private String httpProxyHost;
+
+ /**
+ * http代理端口.
+ */
+ private Integer httpProxyPort;
+
+ /**
+ * http代理用户名.
+ */
+ private String httpProxyUsername;
+
+ /**
+ * http代理密码.
+ */
+ private String httpProxyPassword;
+
+}
diff --git a/spring-boot-starters/wx-java-miniapp-spring-boot-starter/src/main/java/com/binarywang/spring/starter/wxjava/miniapp/properties/RedisProperties.java b/spring-boot-starters/wx-java-miniapp-spring-boot-starter/src/main/java/com/binarywang/spring/starter/wxjava/miniapp/properties/RedisProperties.java
new file mode 100644
index 000000000..5e630c727
--- /dev/null
+++ b/spring-boot-starters/wx-java-miniapp-spring-boot-starter/src/main/java/com/binarywang/spring/starter/wxjava/miniapp/properties/RedisProperties.java
@@ -0,0 +1,52 @@
+package com.binarywang.spring.starter.wxjava.miniapp.properties;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+
+/**
+ * redis配置.
+ *
+ * @author Binary Wang
+ * @date 2020-05-25
+ */
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+@Accessors(chain = true)
+public class RedisProperties implements Serializable {
+ private static final long serialVersionUID = -5924815351660074401L;
+
+ /**
+ * 主机地址.
+ */
+ private String host;
+
+ /**
+ * 端口号.
+ */
+ private int port = 6379;
+
+ /**
+ * 密码.
+ */
+ private String password;
+
+ /**
+ * 超时.
+ */
+ private int timeout = 2000;
+
+ /**
+ * 数据库.
+ */
+ private int database = 0;
+
+ private Integer maxActive;
+ private Integer maxIdle;
+ private Integer maxWaitMillis;
+ private Integer minIdle;
+}
diff --git a/spring-boot-starters/wx-java-miniapp-spring-boot-starter/src/main/java/com/binarywang/spring/starter/wxjava/miniapp/properties/WxMaProperties.java b/spring-boot-starters/wx-java-miniapp-spring-boot-starter/src/main/java/com/binarywang/spring/starter/wxjava/miniapp/properties/WxMaProperties.java
index 5af54dfe1..0bf267d6c 100644
--- a/spring-boot-starters/wx-java-miniapp-spring-boot-starter/src/main/java/com/binarywang/spring/starter/wxjava/miniapp/properties/WxMaProperties.java
+++ b/spring-boot-starters/wx-java-miniapp-spring-boot-starter/src/main/java/com/binarywang/spring/starter/wxjava/miniapp/properties/WxMaProperties.java
@@ -3,8 +3,6 @@ package com.binarywang.spring.starter.wxjava.miniapp.properties;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
-import java.io.Serializable;
-
/**
* 属性配置类.
*
@@ -44,106 +42,4 @@ public class WxMaProperties {
*/
private ConfigStorage configStorage = new ConfigStorage();
- @Data
- public static class ConfigStorage implements Serializable {
- private static final long serialVersionUID = 4815731027000065434L;
-
- /**
- * 存储类型.
- */
- private StorageType type = StorageType.memory;
-
- /**
- * 指定key前缀.
- */
- private String keyPrefix = "wa";
-
- /**
- * redis连接配置.
- */
- private RedisProperties redis;
-
- /**
- * http客户端类型.
- */
- private HttpClientType httpClientType = HttpClientType.httpclient;
-
- /**
- * http代理主机.
- */
- private String httpProxyHost;
-
- /**
- * http代理端口.
- */
- private Integer httpProxyPort;
-
- /**
- * http代理用户名.
- */
- private String httpProxyUsername;
-
- /**
- * http代理密码.
- */
- private String httpProxyPassword;
-
- }
-
- public enum StorageType {
- /**
- * 内存.
- */
- memory,
- /**
- * redis(JedisClient).
- */
- jedis,
- /**
- * redis(RedisTemplate).
- */
- redistemplate
- }
-
- public enum HttpClientType {
- /**
- * HttpClient.
- */
- httpclient
- }
-
- @Data
- public static class RedisProperties implements Serializable {
- private static final long serialVersionUID = -5924815351660074401L;
-
- /**
- * 主机地址.
- */
- private String host;
-
- /**
- * 端口号.
- */
- private int port = 6379;
-
- /**
- * 密码.
- */
- private String password;
-
- /**
- * 超时.
- */
- private int timeout = 2000;
-
- /**
- * 数据库.
- */
- private int database = 0;
-
- private Integer maxActive;
- private Integer maxIdle;
- private Integer maxWaitMillis;
- private Integer minIdle;
- }
}