mirror of
https://gitee.com/binary/weixin-java-tools.git
synced 2025-10-29 01:18:36 +08:00
🎨 #3702 【小程序】多小程序spring starter增加Redis Template支持
This commit is contained in:
@ -2,6 +2,7 @@ package com.binarywang.spring.starter.wxjava.miniapp.configuration;
|
||||
|
||||
import com.binarywang.spring.starter.wxjava.miniapp.configuration.services.WxMaInJedisConfiguration;
|
||||
import com.binarywang.spring.starter.wxjava.miniapp.configuration.services.WxMaInMemoryConfiguration;
|
||||
import com.binarywang.spring.starter.wxjava.miniapp.configuration.services.WxMaInRedisTemplateConfiguration;
|
||||
import com.binarywang.spring.starter.wxjava.miniapp.configuration.services.WxMaInRedissonConfiguration;
|
||||
import com.binarywang.spring.starter.wxjava.miniapp.properties.WxMaMultiProperties;
|
||||
import org.springframework.boot.context.properties.EnableConfigurationProperties;
|
||||
@ -17,9 +18,10 @@ import org.springframework.context.annotation.Import;
|
||||
@Configuration
|
||||
@EnableConfigurationProperties(WxMaMultiProperties.class)
|
||||
@Import({
|
||||
WxMaInJedisConfiguration.class,
|
||||
WxMaInMemoryConfiguration.class,
|
||||
WxMaInRedissonConfiguration.class,
|
||||
WxMaInJedisConfiguration.class,
|
||||
WxMaInMemoryConfiguration.class,
|
||||
WxMaInRedissonConfiguration.class,
|
||||
WxMaInRedisTemplateConfiguration.class
|
||||
})
|
||||
public class WxMaMultiServiceConfiguration {
|
||||
}
|
||||
|
||||
@ -0,0 +1,43 @@
|
||||
package com.binarywang.spring.starter.wxjava.miniapp.configuration.services;
|
||||
|
||||
import cn.binarywang.wx.miniapp.config.impl.WxMaDefaultConfigImpl;
|
||||
import cn.binarywang.wx.miniapp.config.impl.WxMaRedisBetterConfigImpl;
|
||||
import com.binarywang.spring.starter.wxjava.miniapp.properties.WxMaMultiProperties;
|
||||
import com.binarywang.spring.starter.wxjava.miniapp.service.WxMaMultiServices;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import me.chanjar.weixin.common.redis.RedisTemplateWxRedisOps;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
|
||||
import org.springframework.context.ApplicationContext;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.data.redis.core.StringRedisTemplate;
|
||||
|
||||
/**
|
||||
* 自动装配基于 redisTemplate 策略配置
|
||||
*
|
||||
* @author <a href="mailto:huangbing0730@gmail">hb0730</a> 2025/9/10
|
||||
*/
|
||||
@Configuration
|
||||
@ConditionalOnProperty(prefix = WxMaMultiProperties.PREFIX + ".config-storage", name = "type", havingValue = "redis_template")
|
||||
@RequiredArgsConstructor
|
||||
public class WxMaInRedisTemplateConfiguration extends AbstractWxMaConfiguration {
|
||||
private final WxMaMultiProperties wxMaMultiProperties;
|
||||
private final ApplicationContext applicationContext;
|
||||
|
||||
@Bean
|
||||
public WxMaMultiServices wxMaMultiServices() {
|
||||
return this.wxMaMultiServices(wxMaMultiProperties);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected WxMaDefaultConfigImpl wxMaConfigStorage(WxMaMultiProperties wxMaMultiProperties) {
|
||||
return this.configRedisTemplate(wxMaMultiProperties);
|
||||
}
|
||||
|
||||
private WxMaDefaultConfigImpl configRedisTemplate(WxMaMultiProperties wxMaMultiProperties) {
|
||||
StringRedisTemplate redisTemplate = applicationContext.getBean(StringRedisTemplate.class);
|
||||
RedisTemplateWxRedisOps wxRedisOps = new RedisTemplateWxRedisOps(redisTemplate);
|
||||
return new WxMaRedisBetterConfigImpl(wxRedisOps, wxMaMultiProperties.getConfigStorage().getKeyPrefix());
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user