refactor(商城): 技术架构

1.更新redis连接为lettuce
2.升级swagger依赖
master
wayn 4 years ago
parent 2347eeb508
commit 99efde6d8a

@ -32,7 +32,7 @@
<maven.compiler.target>${java.version}</maven.compiler.target>
<spring-boot.version>2.4.4</spring-boot.version>
<mysql.connector.java.version>8.0.19</mysql.connector.java.version>
<jedis.version>3.3.0</jedis.version>
<lettuce.version>6.1.2.RELEASE</lettuce.version>
<elasticsearch.version>7.12.1</elasticsearch.version>
<lombok.version>1.18.6</lombok.version>
<mybatis-plus.version>3.4.2</mybatis-plus.version>
@ -43,7 +43,7 @@
<commons-lang3.version>3.11</commons-lang3.version>
<fastjson.version>1.2.75</fastjson.version>
<easy-captcha.version>1.6.2</easy-captcha.version>
<swagger.version>2.9.2</swagger.version>
<swagger.version>3.0.0</swagger.version>
<easypoi.version>4.2.0</easypoi.version>
<jwt.version>3.14.0</jwt.version>
<qiniu.version>7.4.0</qiniu.version>
@ -69,6 +69,17 @@
<artifactId>spring-data-redis</artifactId>
<version>${spring-boot.version}</version>
</dependency>
<!-- https://mvnrepository.com/artifact/io.lettuce/lettuce-core -->
<dependency>
<groupId>io.lettuce</groupId>
<artifactId>lettuce-core</artifactId>
<version>${lettuce.version}</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-pool2</artifactId>
<version>2.9.0</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
@ -149,12 +160,6 @@
<version>${commons.fileupload.version}</version>
</dependency>
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>${jedis.version}</version>
</dependency>
<!-- jwt验证 -->
<dependency>
<groupId>com.auth0</groupId>
@ -193,24 +198,10 @@
<version>${qiniu.version}</version>
</dependency>
<!-- swagger2-->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>${swagger.version}</version>
</dependency>
<!-- 防止进入swagger页面报类型转换错误排除2.9.2中的引用手动增加1.5.21版本-->
<dependency>
<groupId>io.swagger</groupId>
<artifactId>swagger-annotations</artifactId>
<version>1.5.21</version>
</dependency>
<!-- swagger2-UI-->
<!--springfox swagger官方Starter-->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<artifactId>springfox-boot-starter</artifactId>
<version>${swagger.version}</version>
</dependency>

@ -12,20 +12,6 @@
<artifactId>waynboot-admin-api</artifactId>
<dependencies>
<!-- swagger2-->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>${swagger.version}</version>
</dependency>
<!-- swagger2-UI-->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>${swagger.version}</version>
</dependency>
<dependency>
<groupId>org.elasticsearch.client</groupId>
<artifactId>elasticsearch-rest-high-level-client</artifactId>

@ -68,7 +68,7 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter {
.antMatchers("/login", "/captcha", "/favicon.ico").anonymous()
.antMatchers("/upload/**").anonymous()
.antMatchers("/common/download**").anonymous()
.antMatchers("/swagger-ui.html").anonymous()
.antMatchers("/swagger-ui/**").anonymous()
.antMatchers("/swagger-resources/**").anonymous()
.antMatchers("/webjars/**").anonymous()
.antMatchers("/*/api-docs").anonymous()

@ -11,10 +11,8 @@ import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.Contact;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
@Configuration
@EnableSwagger2
public class SwaggerConfig {
/**
@ -30,7 +28,7 @@ public class SwaggerConfig {
// 扫描所有有注解的api用这种方式更灵活
.apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))
// 扫描指定包中的swagger注解
//.apis(RequestHandlerSelectors.basePackage("com.ruoyi.project.tool.swagger"))
//.apis(RequestHandlerSelectors.basePackage("com.waynboot.admin"))
// 扫描所有 .apis(RequestHandlerSelectors.any())
.paths(PathSelectors.any())
.build();

@ -108,12 +108,6 @@
<version>${commons.fileupload.version}</version>
</dependency>
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>${jedis.version}</version>
</dependency>
<!-- jwt验证 -->
<dependency>
<groupId>com.auth0</groupId>
@ -152,13 +146,6 @@
<version>${qiniu.version}</version>
</dependency>
<!--防止进入swagger页面报类型转换错误排除2.9.2中的引用手动增加1.5.21版本-->
<dependency>
<groupId>io.swagger</groupId>
<artifactId>swagger-annotations</artifactId>
<version>1.5.21</version>
</dependency>
<dependency>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
@ -181,6 +168,10 @@
<artifactId>waynboot-data-elastic</artifactId>
<version>1.1.0</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-boot-starter</artifactId>
</dependency>
</dependencies>
</project>

@ -17,11 +17,13 @@
<version>${spring-boot.version}</version>
</dependency>
<!-- jedis -->
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>${jedis.version}</version>
<groupId>io.lettuce</groupId>
<artifactId>lettuce-core</artifactId>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-pool2</artifactId>
</dependency>
</dependencies>

@ -14,13 +14,10 @@ import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.cache.RedisCacheConfiguration;
import org.springframework.data.redis.cache.RedisCacheManager;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.connection.RedisStandaloneConfiguration;
import org.springframework.data.redis.connection.jedis.JedisClientConfiguration;
import org.springframework.data.redis.connection.jedis.JedisConnectionFactory;
import org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.serializer.RedisSerializer;
import org.springframework.data.redis.serializer.StringRedisSerializer;
import redis.clients.jedis.JedisPoolConfig;
import java.time.Duration;
@ -41,27 +38,10 @@ public class CacheConfig extends CachingConfigurerSupport {
@Value("${spring.redis.expire}")
private int expire = 0;
//数据库位置
@Value("${spring.redis.databaseIndex}")
private int databaseIndex = 0;
@Bean
public JedisConnectionFactory jedisConnectionFactory(JedisPoolConfig jedisPoolConfig) {
JedisClientConfiguration jedisClientConfiguration = JedisClientConfiguration
.builder()
.usePooling()
.poolConfig(jedisPoolConfig)
.build();
RedisStandaloneConfiguration config = new RedisStandaloneConfiguration(host, port);
config.setDatabase(databaseIndex);
config.setPassword(password);
return new JedisConnectionFactory(config, jedisClientConfiguration);
}
@Bean
public RedisTemplate<String, Object> redisTemplate(JedisConnectionFactory jedisConnectionFactory) {
public RedisTemplate<String, Object> redisTemplate(LettuceConnectionFactory connectionFactory) {
RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>();
redisTemplate.setConnectionFactory(jedisConnectionFactory);
redisTemplate.setConnectionFactory(connectionFactory);
redisTemplate.setKeySerializer(keySerializer());
redisTemplate.setHashKeySerializer(keySerializer());
redisTemplate.setValueSerializer(valueSerializer());

@ -1,7 +1,6 @@
package com.wayn.data.redis.manager;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.DependsOn;
import org.springframework.data.redis.core.HashOperations;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.core.ValueOperations;

@ -1,57 +0,0 @@
package com.wayn.data.redis.manager;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;
/**
* redis
*/
@Configuration
public class RedisConfig {
@Value("${spring.redis.host}")
private String host = "127.0.0.1";
@Value("${spring.redis.port}")
private int port = 6379;
//timeout for jedis try to connect to redis server, not expire time! In milliseconds
@Value("${spring.redis.timeout}")
private int timeout = 0;
@Value("${spring.redis.password}")
private String password = "";
@Value("${spring.redis.jedis.pool.max-idle}")
private int maxIdle;
@Value("${spring.redis.maxTotal}")
private int maxTotal;
@Value("${spring.redis.jedis.pool.max-wait}")
private int maxWaitMillis;
@Bean
public JedisPoolConfig jedisPoolConfig() {
JedisPoolConfig jedisPoolConfig = new JedisPoolConfig();
jedisPoolConfig.setMaxIdle(maxIdle);
jedisPoolConfig.setMaxTotal(maxTotal);
jedisPoolConfig.setMaxWaitMillis(maxWaitMillis);
return jedisPoolConfig;
}
@Bean
public JedisPool jedisPool(JedisPoolConfig jedisPoolConfig) {
JedisPool jedisPool;
if (StringUtils.isNotEmpty(password)) {
jedisPool = new JedisPool(jedisPoolConfig, host, port, timeout, password);
} else {
jedisPool = new JedisPool(jedisPoolConfig, host, port, timeout);
}
return jedisPool;
}
}

@ -67,11 +67,6 @@
<version>${spring-boot.version}</version>
</dependency>
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>${jedis.version}</version>
</dependency>
<!-- 阿里JSON解析器 -->
<dependency>
<groupId>com.alibaba</groupId>

@ -12,19 +12,6 @@
<version>1.1.0</version>
<dependencies>
<!-- swagger2-->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>${swagger.version}</version>
</dependency>
<!-- swagger2-UI-->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>${swagger.version}</version>
</dependency>
<dependency>
<groupId>com.wayn</groupId>
@ -50,8 +37,7 @@
<artifactId>lombok</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependency> <!--springfox swagger官方Starter-->
</dependencies>
<build>
@ -63,9 +49,9 @@
<!-- 指定该Main Class为全局的唯一入口 -->
<mainClass>com.wayn.MobileApplication</mainClass>
<layout>ZIP</layout>
<!-- <commandlineArguments>-->
<!-- -parameters-->
<!-- </commandlineArguments>-->
<!-- <commandlineArguments>-->
<!-- -parameters-->
<!-- </commandlineArguments>-->
</configuration>
<executions>
<execution>

@ -69,7 +69,7 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter {
"/goods/detail/**", "/cart/goodsCount", "/diamond/**").permitAll()
.antMatchers("/upload/**").anonymous()
.antMatchers("/common/download**").anonymous()
.antMatchers("/swagger-ui.html").anonymous()
.antMatchers("/swagger-ui/**").anonymous()
.antMatchers("/swagger-resources/**").anonymous()
.antMatchers("/webjars/**").anonymous()
.antMatchers("/*/api-docs").anonymous()

@ -11,10 +11,8 @@ import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.Contact;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
@Configuration
@EnableSwagger2
public class SwaggerConfig {
/**
@ -30,7 +28,7 @@ public class SwaggerConfig {
// 扫描所有有注解的api用这种方式更灵活
.apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))
// 扫描指定包中的swagger注解
//.apis(RequestHandlerSelectors.basePackage("com.ruoyi.project.tool.swagger"))
//.apis(RequestHandlerSelectors.basePackage("com.waynboot.mobile"))
// 扫描所有 .apis(RequestHandlerSelectors.any())
.paths(PathSelectors.any())
.build();
@ -43,9 +41,9 @@ public class SwaggerConfig {
// 用ApiInfoBuilder进行定制
return new ApiInfoBuilder()
// 设置标题
.title("标题wayn_admin管理系统_接口文档")
.title("标题wayn_mobile_接口文档")
// 描述
.description("描述:用于查看后台管理系统api接口")
.description("描述:用于查看wayn_mobile api接口")
// 作者信息
.contact(new Contact(WaynConfig.getName(), null, WaynConfig.getEmail()))
// 版本

Loading…
Cancel
Save