🎨 优化公众号Spring Boot Starter的redisTemplate注入等代码
This commit is contained in:
@@ -30,6 +30,16 @@
|
|||||||
<version>${spring.boot.version}</version>
|
<version>${spring.boot.version}</version>
|
||||||
<scope>provided</scope>
|
<scope>provided</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.jodd</groupId>
|
||||||
|
<artifactId>jodd-http</artifactId>
|
||||||
|
<scope>provided</scope>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.squareup.okhttp3</groupId>
|
||||||
|
<artifactId>okhttp</artifactId>
|
||||||
|
<scope>provided</scope>
|
||||||
|
</dependency>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
||||||
<build>
|
<build>
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ package com.binarywang.spring.starter.wxjava.mp.config;
|
|||||||
|
|
||||||
import com.binarywang.spring.starter.wxjava.mp.enums.HttpClientType;
|
import com.binarywang.spring.starter.wxjava.mp.enums.HttpClientType;
|
||||||
import com.binarywang.spring.starter.wxjava.mp.properties.WxMpProperties;
|
import com.binarywang.spring.starter.wxjava.mp.properties.WxMpProperties;
|
||||||
import me.chanjar.weixin.mp.api.*;
|
import me.chanjar.weixin.mp.api.WxMpService;
|
||||||
import me.chanjar.weixin.mp.api.impl.WxMpServiceHttpClientImpl;
|
import me.chanjar.weixin.mp.api.impl.WxMpServiceHttpClientImpl;
|
||||||
import me.chanjar.weixin.mp.api.impl.WxMpServiceImpl;
|
import me.chanjar.weixin.mp.api.impl.WxMpServiceImpl;
|
||||||
import me.chanjar.weixin.mp.api.impl.WxMpServiceJoddHttpImpl;
|
import me.chanjar.weixin.mp.api.impl.WxMpServiceJoddHttpImpl;
|
||||||
|
|||||||
@@ -1,21 +1,11 @@
|
|||||||
package com.binarywang.spring.starter.wxjava.mp.config;
|
package com.binarywang.spring.starter.wxjava.mp.config;
|
||||||
|
|
||||||
import java.util.Set;
|
|
||||||
|
|
||||||
import org.apache.commons.lang3.StringUtils;
|
|
||||||
import org.springframework.beans.factory.annotation.Value;
|
|
||||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
|
|
||||||
import org.springframework.context.ApplicationContext;
|
|
||||||
import org.springframework.context.annotation.Bean;
|
|
||||||
import org.springframework.context.annotation.Configuration;
|
|
||||||
import org.springframework.data.redis.core.StringRedisTemplate;
|
|
||||||
|
|
||||||
import com.binarywang.spring.starter.wxjava.mp.enums.StorageType;
|
import com.binarywang.spring.starter.wxjava.mp.enums.StorageType;
|
||||||
import com.binarywang.spring.starter.wxjava.mp.properties.RedisProperties;
|
import com.binarywang.spring.starter.wxjava.mp.properties.RedisProperties;
|
||||||
import com.binarywang.spring.starter.wxjava.mp.properties.WxMpProperties;
|
import com.binarywang.spring.starter.wxjava.mp.properties.WxMpProperties;
|
||||||
import com.google.common.collect.Sets;
|
import com.google.common.collect.Sets;
|
||||||
|
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import me.chanjar.weixin.common.redis.JedisWxRedisOps;
|
import me.chanjar.weixin.common.redis.JedisWxRedisOps;
|
||||||
import me.chanjar.weixin.common.redis.RedisTemplateWxRedisOps;
|
import me.chanjar.weixin.common.redis.RedisTemplateWxRedisOps;
|
||||||
import me.chanjar.weixin.common.redis.WxRedisOps;
|
import me.chanjar.weixin.common.redis.WxRedisOps;
|
||||||
@@ -23,16 +13,26 @@ import me.chanjar.weixin.mp.bean.WxMpHostConfig;
|
|||||||
import me.chanjar.weixin.mp.config.WxMpConfigStorage;
|
import me.chanjar.weixin.mp.config.WxMpConfigStorage;
|
||||||
import me.chanjar.weixin.mp.config.impl.WxMpDefaultConfigImpl;
|
import me.chanjar.weixin.mp.config.impl.WxMpDefaultConfigImpl;
|
||||||
import me.chanjar.weixin.mp.config.impl.WxMpRedisConfigImpl;
|
import me.chanjar.weixin.mp.config.impl.WxMpRedisConfigImpl;
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
|
||||||
|
import org.springframework.context.ApplicationContext;
|
||||||
|
import org.springframework.context.annotation.Bean;
|
||||||
|
import org.springframework.context.annotation.Configuration;
|
||||||
|
import org.springframework.data.redis.core.StringRedisTemplate;
|
||||||
import redis.clients.jedis.JedisPool;
|
import redis.clients.jedis.JedisPool;
|
||||||
import redis.clients.jedis.JedisPoolAbstract;
|
import redis.clients.jedis.JedisPoolAbstract;
|
||||||
import redis.clients.jedis.JedisPoolConfig;
|
import redis.clients.jedis.JedisPoolConfig;
|
||||||
import redis.clients.jedis.JedisSentinelPool;
|
import redis.clients.jedis.JedisSentinelPool;
|
||||||
|
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 微信公众号存储策略自动配置.
|
* 微信公众号存储策略自动配置.
|
||||||
*
|
*
|
||||||
* @author someone
|
* @author someone
|
||||||
*/
|
*/
|
||||||
|
@Slf4j
|
||||||
@Configuration
|
@Configuration
|
||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
public class WxMpStorageAutoConfiguration {
|
public class WxMpStorageAutoConfiguration {
|
||||||
@@ -94,10 +94,28 @@ public class WxMpStorageAutoConfiguration {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private WxMpConfigStorage redisTemplateConfigStorage() {
|
private WxMpConfigStorage redisTemplateConfigStorage() {
|
||||||
StringRedisTemplate redisTemplate = applicationContext.getBean(StringRedisTemplate.class);
|
StringRedisTemplate redisTemplate = null;
|
||||||
|
try {
|
||||||
|
redisTemplate = applicationContext.getBean(StringRedisTemplate.class);
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.error(e.getMessage(), e);
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
if (null == redisTemplate) {
|
||||||
|
redisTemplate = (StringRedisTemplate) applicationContext.getBean("stringRedisTemplate");
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.error(e.getMessage(), e);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (null == redisTemplate) {
|
||||||
|
redisTemplate = (StringRedisTemplate) applicationContext.getBean("redisTemplate");
|
||||||
|
}
|
||||||
|
|
||||||
WxRedisOps redisOps = new RedisTemplateWxRedisOps(redisTemplate);
|
WxRedisOps redisOps = new RedisTemplateWxRedisOps(redisTemplate);
|
||||||
WxMpRedisConfigImpl wxMpRedisConfig = new WxMpRedisConfigImpl(redisOps,
|
WxMpRedisConfigImpl wxMpRedisConfig = new WxMpRedisConfigImpl(redisOps,
|
||||||
wxMpProperties.getConfigStorage().getKeyPrefix());
|
wxMpProperties.getConfigStorage().getKeyPrefix());
|
||||||
|
|
||||||
setWxMpInfo(wxMpRedisConfig);
|
setWxMpInfo(wxMpRedisConfig);
|
||||||
return wxMpRedisConfig;
|
return wxMpRedisConfig;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
package com.binarywang.spring.starter.wxjava.mp.properties;
|
package com.binarywang.spring.starter.wxjava.mp.properties;
|
||||||
|
|
||||||
import java.io.Serializable;
|
|
||||||
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
public class HostConfig implements Serializable {
|
public class HostConfig implements Serializable {
|
||||||
|
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ public class WxCpRedissonConfigImpl extends WxCpDefaultConfigImpl {
|
|||||||
this(redissonClient, null);
|
this(redissonClient, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
private WxCpRedissonConfigImpl(@NonNull WxRedisOps redisOps, String keyPrefix) {
|
public WxCpRedissonConfigImpl(@NonNull WxRedisOps redisOps, String keyPrefix) {
|
||||||
this.redisOps = redisOps;
|
this.redisOps = redisOps;
|
||||||
this.keyPrefix = keyPrefix;
|
this.keyPrefix = keyPrefix;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user