瀏覽代碼

优化redisson配置

mac 2 年之前
父節點
當前提交
140cc87ffe

+ 9 - 8
kxs-common/kxs-common-idempotent/src/main/java/com/kxs/common/idempotent/IdempotentAutoConfiguration.java

@@ -2,8 +2,10 @@ package com.kxs.common.idempotent;
 
 import cn.hutool.core.util.StrUtil;
 import com.kxs.common.idempotent.aspect.IdempotentAspect;
+import com.kxs.common.idempotent.config.RedisProperties;
 import com.kxs.common.idempotent.expression.ExpressionResolver;
 import com.kxs.common.idempotent.expression.KeyResolver;
+import lombok.AllArgsConstructor;
 import org.redisson.Redisson;
 import org.redisson.api.RedissonClient;
 import org.redisson.config.Config;
@@ -12,6 +14,7 @@ import org.springframework.boot.autoconfigure.AutoConfiguration;
 import org.springframework.boot.autoconfigure.AutoConfigureAfter;
 import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
 import org.springframework.boot.autoconfigure.data.redis.RedisAutoConfiguration;
+import org.springframework.boot.context.properties.EnableConfigurationProperties;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
 
@@ -24,13 +27,11 @@ import org.springframework.context.annotation.Configuration;
 @AutoConfiguration
 @Configuration(proxyBeanMethods = false)
 @AutoConfigureAfter(RedisAutoConfiguration.class)
+@EnableConfigurationProperties({ RedisProperties.class })
+@AllArgsConstructor
 public class IdempotentAutoConfiguration {
 
-	@Value("${spring.data.redis.host}")
-	private String host;
-
-	@Value("${spring.data.redis.password}")
-	private String password;
+	private final RedisProperties redisProperties;
 
 	/**
 	 * 切面 拦截处理所有 @Idempotent
@@ -55,9 +56,9 @@ public class IdempotentAutoConfiguration {
 	@ConditionalOnMissingBean
 	public RedissonClient redissonClient() {
 		Config config = new Config();
-		config.useSingleServer().setAddress("redis://"+host+":6379");
-		if(StrUtil.isNotBlank(password)){
-			config.useSingleServer().setPassword(password);
+		config.useSingleServer().setAddress(redisProperties.getPrefix() + redisProperties.getHost() + ":" + redisProperties.getPort());
+		if(StrUtil.isNotBlank(redisProperties.getPassword())){
+			config.useSingleServer().setPassword(redisProperties.getPassword());
 		}
 		return Redisson.create(config);
 	}

+ 33 - 0
kxs-common/kxs-common-idempotent/src/main/java/com/kxs/common/idempotent/config/RedisProperties.java

@@ -0,0 +1,33 @@
+package com.kxs.common.idempotent.config;
+
+import lombok.Data;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.stereotype.Component;
+
+/**
+ * redis配置属性
+ *
+ * @author 没秃顶的码农
+ * @date 2024-04-24
+ */
+@Data
+@ConfigurationProperties(prefix = "spring.data.redis")
+public class RedisProperties {
+
+    private String prefix = "redis://";
+
+    /**
+     * host
+     */
+    private String host;
+
+    /**
+     * pwd
+     */
+    private String password;
+
+    /**
+     * port
+     */
+    private String port = "6379";
+}