diff --git a/ruoyi-admin/src/main/resources/application-dev.yml b/ruoyi-admin/src/main/resources/application-dev.yml index 867a1fd9d..c77d5120d 100644 --- a/ruoyi-admin/src/main/resources/application-dev.yml +++ b/ruoyi-admin/src/main/resources/application-dev.yml @@ -154,65 +154,3 @@ redisson: subscriptionsPerConnection: 5 # DNS监测时间间隔,单位:毫秒 dnsMonitoringInterval: 5000 - -#--- # redis 集群配置(单机与集群只能开启一个另一个需要注释掉) -#spring: -# redis: -# cluster: -# nodes: -# - 192.168.0.100:6379 -# - 192.168.0.101:6379 -# - 192.168.0.102:6379 -# # 密码 -# password: -# # 连接超时时间 -# timeout: 10s -# # 是否开启ssl -# ssl: false -# -#redisson: -# # 线程池数量 -# threads: 16 -# # Netty线程池数量 -# nettyThreads: 32 -# # 传输模式 -# transportMode: "NIO" -# # 集群配置 -# clusterServersConfig: -# # 客户端名称 -# clientName: ${ruoyi.name} -# # master最小空闲连接数 -# masterConnectionMinimumIdleSize: 32 -# # master连接池大小 -# masterConnectionPoolSize: 64 -# # slave最小空闲连接数 -# slaveConnectionMinimumIdleSize: 32 -# # slave连接池大小 -# slaveConnectionPoolSize: 64 -# # 连接空闲超时,单位:毫秒 -# idleConnectionTimeout: 10000 -# # ping连接间隔 -# pingConnectionInterval: 1000 -# # 命令等待超时,单位:毫秒 -# timeout: 3000 -# # 如果尝试在此限制之内发送成功,则开始启用 timeout 计时。 -# retryAttempts: 3 -# # 命令重试发送时间间隔,单位:毫秒 -# retryInterval: 1500 -# # 从可用服务器的内部列表中排除 Redis Slave 重新连接尝试的间隔。 -# failedSlaveReconnectionInterval: 3000 -# # 发布和订阅连接池最小空闲连接数 -# subscriptionConnectionMinimumIdleSize: 1 -# # 发布和订阅连接池大小 -# subscriptionConnectionPoolSize: 50 -# # 单个连接最大订阅数量 -# subscriptionsPerConnection: 5 -# # 扫描间隔 -# scanInterval: 1000 -# # DNS监测时间间隔,单位:毫秒 -# dnsMonitoringInterval: 5000 -# # 读取模式 -# readMode: "SLAVE" -# # 订阅模式 -# subscriptionMode: "MASTER" - diff --git a/ruoyi-admin/src/main/resources/application-prod.yml b/ruoyi-admin/src/main/resources/application-prod.yml index b66db3e07..32ebb7c38 100644 --- a/ruoyi-admin/src/main/resources/application-prod.yml +++ b/ruoyi-admin/src/main/resources/application-prod.yml @@ -154,64 +154,3 @@ redisson: subscriptionsPerConnection: 5 # DNS监测时间间隔,单位:毫秒 dnsMonitoringInterval: 5000 - -#--- # redis 集群配置(单机与集群只能开启一个另一个需要注释掉) -#spring: -# redis: -# cluster: -# nodes: -# - 192.168.0.100:6379 -# - 192.168.0.101:6379 -# - 192.168.0.102:6379 -# # 密码 -# password: -# # 连接超时时间 -# timeout: 10s -# # 是否开启ssl -# ssl: false -# -#redisson: -# # 线程池数量 -# threads: 16 -# # Netty线程池数量 -# nettyThreads: 32 -# # 传输模式 -# transportMode: "NIO" -# # 集群配置 -# clusterServersConfig: -# # 客户端名称 -# clientName: ${ruoyi.name} -# # master最小空闲连接数 -# masterConnectionMinimumIdleSize: 32 -# # master连接池大小 -# masterConnectionPoolSize: 64 -# # slave最小空闲连接数 -# slaveConnectionMinimumIdleSize: 32 -# # slave连接池大小 -# slaveConnectionPoolSize: 64 -# # 连接空闲超时,单位:毫秒 -# idleConnectionTimeout: 10000 -# # ping连接间隔 -# pingConnectionInterval: 1000 -# # 命令等待超时,单位:毫秒 -# timeout: 3000 -# # 如果尝试在此限制之内发送成功,则开始启用 timeout 计时。 -# retryAttempts: 3 -# # 命令重试发送时间间隔,单位:毫秒 -# retryInterval: 1500 -# # 从可用服务器的内部列表中排除 Redis Slave 重新连接尝试的间隔。 -# failedSlaveReconnectionInterval: 3000 -# # 发布和订阅连接池最小空闲连接数 -# subscriptionConnectionMinimumIdleSize: 1 -# # 发布和订阅连接池大小 -# subscriptionConnectionPoolSize: 50 -# # 单个连接最大订阅数量 -# subscriptionsPerConnection: 5 -# # 扫描间隔 -# scanInterval: 1000 -# # DNS监测时间间隔,单位:毫秒 -# dnsMonitoringInterval: 5000 -# # 读取模式 -# readMode: "SLAVE" -# # 订阅模式 -# subscriptionMode: "MASTER" diff --git a/ruoyi-admin/src/main/resources/application.yml b/ruoyi-admin/src/main/resources/application.yml index 0b000c78a..360c20128 100644 --- a/ruoyi-admin/src/main/resources/application.yml +++ b/ruoyi-admin/src/main/resources/application.yml @@ -43,14 +43,6 @@ server: io: 8 # 阻塞任务线程池, 当执行类似servlet请求阻塞操作, undertow会从这个线程池中取得线程,它的值设置取决于系统的负载 worker: 256 -# # tomcat 配置 -# tomcat: -# # tomcat的URI编码 -# uri-encoding: UTF-8 -# # tomcat最大线程数,默认为200 -# max-threads: 500 -# # Tomcat启动初始化的线程数,默认值25 -# min-spare-threads: 30 # 日志配置 logging: @@ -147,43 +139,24 @@ mybatis-plus: mapperLocations: classpath*:mapper/**/*Mapper.xml # 实体扫描,多个package用逗号或者分号分隔 typeAliasesPackage: com.ruoyi.**.domain - # 针对 typeAliasesPackage,如果配置了该属性,则仅仅会扫描路径下以该类作为父类的域对象 - #typeAliasesSuperType: Class - # 如果配置了该属性,SqlSessionFactoryBean 会把该包下面的类注册为对应的 TypeHandler - #typeHandlersPackage: null - # 如果配置了该属性,会将路径下的枚举类进行注入,让实体类字段能够简单快捷的使用枚举属性 - #typeEnumsPackage: null # 启动时是否检查 MyBatis XML 文件的存在,默认不检查 checkConfigLocation: false # 通过该属性可指定 MyBatis 的执行器,MyBatis 的执行器总共有三种: - # SIMPLE:该执行器类型不做特殊的事情,为每个语句的执行创建一个新的预处理语句(PreparedStatement) - # REUSE:该执行器类型会复用预处理语句(PreparedStatement) - # BATCH:该执行器类型会批量执行所有的更新语句 + # SIMPLE:每个语句创建新的预处理器 REUSE:会复用预处理器 BATCH:批量执行所有的更新 executorType: SIMPLE configuration: # 自动驼峰命名规则(camel case)映射 - # 如果您的数据库命名符合规则无需使用 @TableField 注解指定数据库字段名 mapUnderscoreToCamelCase: true - # 默认枚举处理类,如果配置了该属性,枚举将统一使用指定处理器进行处理 - # org.apache.ibatis.type.EnumTypeHandler : 存储枚举的名称 - # org.apache.ibatis.type.EnumOrdinalTypeHandler : 存储枚举的索引 - # com.baomidou.mybatisplus.extension.handlers.MybatisEnumTypeHandler : 枚举类需要实现IEnum接口或字段标记@EnumValue注解. - defaultEnumTypeHandler: org.apache.ibatis.type.EnumTypeHandler # 当设置为 true 的时候,懒加载的对象可能被任何懒属性全部加载,否则,每个属性都按需加载。需要和 lazyLoadingEnabled 一起使用。 aggressiveLazyLoading: true # MyBatis 自动映射策略 - # NONE:不启用自动映射 - # PARTIAL:只对非嵌套的 resultMap 进行自动映射 - # FULL:对所有的 resultMap 都进行自动映射 + # NONE:不启用 PARTIAL:只对非嵌套 resultMap 自动映射 FULL:对所有 resultMap 自动映射 autoMappingBehavior: PARTIAL # MyBatis 自动映射时未知列或未知属性处理策 - # NONE:不做任何处理 (默认值) - # WARNING:以日志的形式打印相关警告信息 - # FAILING:当作映射失败处理,并抛出异常和详细信息 + # NONE:不做处理 WARNING:打印相关警告 FAILING:抛出异常和详细信息 autoMappingUnknownColumnBehavior: NONE # Mybatis一级缓存,默认为 SESSION - # SESSION session级别缓存,同一个session相同查询语句不会再次查询数据库 - # STATEMENT 关闭一级缓存 + # SESSION session级别缓存 STATEMENT 关闭一级缓存 localCacheScope: SESSION # 开启Mybatis二级缓存,默认为 true cacheEnabled: false @@ -198,32 +171,18 @@ mybatis-plus: enableSqlRunner: false dbConfig: # 主键类型 - # AUTO 数据库ID自增 - # NONE 空 - # INPUT 用户输入ID - # ASSIGN_ID 全局唯一ID - # ASSIGN_UUID 全局唯一ID UUID + # AUTO 自增 NONE 空 INPUT 用户输入 ASSIGN_ID 雪花 ASSIGN_UUID 唯一 UUID idType: AUTO - # 表名前缀 - tablePrefix: null - # 字段 format,例: %s,(对主键无效) - columnFormat: null # 表名是否使用驼峰转下划线命名,只对表名生效 tableUnderline: true # 大写命名,对表名和字段名均生效 capitalMode: false - # 全局的entity的逻辑删除字段属性名 - logicDeleteField: null # 逻辑已删除值 logicDeleteValue: 2 # 逻辑未删除值 logicNotDeleteValue: 0 # 字段验证策略之 insert,在 insert 的时候的字段验证策略 - # IGNORED 忽略判断 - # NOT_NULL 非NULL判断 - # NOT_EMPTY 非空判断(只对字符串类型字段,其他类型字段依然为非NULL判断) - # DEFAULT 默认的,一般只用于注解里 - # NEVER 不加入 SQL + # IGNORED 忽略 NOT_NULL 非NULL NOT_EMPTY 非空 DEFAULT 默认 NEVER 不加入 SQL insertStrategy: NOT_NULL # 字段验证策略之 update,在 update 的时候的字段验证策略 updateStrategy: NOT_NULL diff --git a/ruoyi-framework/pom.xml b/ruoyi-framework/pom.xml index 20176a0be..f80c2646b 100644 --- a/ruoyi-framework/pom.xml +++ b/ruoyi-framework/pom.xml @@ -17,7 +17,6 @@ - org.springframework.boot @@ -34,14 +33,6 @@ org.springframework.boot spring-boot-starter-undertow - - - - - - - - diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/MybatisPlusConfig.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/MybatisPlusConfig.java index 57388ec3a..db81b7437 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/MybatisPlusConfig.java +++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/MybatisPlusConfig.java @@ -18,13 +18,12 @@ import org.springframework.transaction.annotation.EnableTransactionManagement; import java.util.List; /** - * mybatis-plus配置类 + * mybatis-plus配置类(下方注释有插件介绍) * * @author Lion Li */ @EnableTransactionManagement(proxyTargetClass = true) @Configuration -// 指定要扫描的Mapper类的包的路径 @MapperScan("${mybatis-plus.mapperPackage}") public class MybatisPlusConfig { @@ -35,14 +34,11 @@ public class MybatisPlusConfig { interceptor.addInnerInterceptor(paginationInnerInterceptor()); // 乐观锁插件 interceptor.addInnerInterceptor(optimisticLockerInnerInterceptor()); - // 阻断插件 -// interceptor.addInnerInterceptor(blockAttackInnerInterceptor()); return interceptor; } /** * 分页插件,自动识别数据库类型 - * https://baomidou.com/guide/interceptor-pagination.html */ public PaginationInnerInterceptor paginationInnerInterceptor() { PaginationInnerInterceptor paginationInnerInterceptor = new PaginationInnerInterceptor(); @@ -55,41 +51,13 @@ public class MybatisPlusConfig { /** * 乐观锁插件 - * https://baomidou.com/guide/interceptor-optimistic-locker.html */ public OptimisticLockerInnerInterceptor optimisticLockerInnerInterceptor() { return new OptimisticLockerInnerInterceptor(); } - /** - * 如果是对全表的删除或更新操作,就会终止该操作 - * https://baomidou.com/guide/interceptor-block-attack.html - */ -// public BlockAttackInnerInterceptor blockAttackInnerInterceptor() { -// return new BlockAttackInnerInterceptor(); -// } - - /** - * sql性能规范插件(垃圾SQL拦截) - * 如有需要可以启用 - */ -// public IllegalSQLInnerInterceptor illegalSQLInnerInterceptor() { -// return new IllegalSQLInnerInterceptor(); -// } - - - /** - * 自定义主键策略 - * https://baomidou.com/guide/id-generator.html - */ -// @Bean -// public IdentifierGenerator idGenerator() { -// return new CustomIdGenerator(); -// } - /** * 元对象字段填充控制器 - * https://baomidou.com/guide/auto-fill-metainfo.html */ @Bean public MetaObjectHandler metaObjectHandler() { @@ -98,7 +66,6 @@ public class MybatisPlusConfig { /** * sql注入器配置 - * https://baomidou.com/guide/sql-injector.html */ @Bean public ISqlInjector sqlInjector() { @@ -113,6 +80,19 @@ public class MybatisPlusConfig { } /** + * PaginationInnerInterceptor 分页插件,自动识别数据库类型 + * https://baomidou.com/guide/interceptor-pagination.html + * OptimisticLockerInnerInterceptor 乐观锁插件 + * https://baomidou.com/guide/interceptor-optimistic-locker.html + * MetaObjectHandler 元对象字段填充控制器 + * https://baomidou.com/guide/auto-fill-metainfo.html + * ISqlInjector sql注入器 + * https://baomidou.com/guide/sql-injector.html + * BlockAttackInnerInterceptor 如果是对全表的删除或更新操作,就会终止该操作 + * https://baomidou.com/guide/interceptor-block-attack.html + * IllegalSQLInnerInterceptor sql性能规范插件(垃圾SQL拦截) + * IdentifierGenerator 自定义主键策略 + * https://baomidou.com/guide/id-generator.html * TenantLineInnerInterceptor 多租户插件 * https://baomidou.com/guide/interceptor-tenant-line.html * DynamicTableNameInnerInterceptor 动态表名插件 diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/RedisConfig.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/RedisConfig.java index c1c303a26..d7ae1cdce 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/RedisConfig.java +++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/RedisConfig.java @@ -76,7 +76,7 @@ public class RedisConfig extends CachingConfigurerSupport { .setConnectionPoolSize(singleServerConfig.getConnectionPoolSize()) .setDnsMonitoringInterval(singleServerConfig.getDnsMonitoringInterval()); } - + // 集群配置方式 参考下方注释 RedissonProperties.ClusterServersConfig clusterServersConfig = redissonProperties.getClusterServersConfig(); if (ObjectUtil.isNotNull(clusterServersConfig)) { // 使用集群模式 @@ -123,4 +123,69 @@ public class RedisConfig extends CachingConfigurerSupport { return new RedissonSpringCacheManager(redissonClient, config, JsonJacksonCodec.INSTANCE); } + /** + * redis集群配置 yml + * + * --- # redis 集群配置(单机与集群只能开启一个另一个需要注释掉) + * spring: + * redis: + * cluster: + * nodes: + * - 192.168.0.100:6379 + * - 192.168.0.101:6379 + * - 192.168.0.102:6379 + * # 密码 + * password: + * # 连接超时时间 + * timeout: 10s + * # 是否开启ssl + * ssl: false + * + * redisson: + * # 线程池数量 + * threads: 16 + * # Netty线程池数量 + * nettyThreads: 32 + * # 传输模式 + * transportMode: "NIO" + * # 集群配置 + * clusterServersConfig: + * # 客户端名称 + * clientName: ${ruoyi.name} + * # master最小空闲连接数 + * masterConnectionMinimumIdleSize: 32 + * # master连接池大小 + * masterConnectionPoolSize: 64 + * # slave最小空闲连接数 + * slaveConnectionMinimumIdleSize: 32 + * # slave连接池大小 + * slaveConnectionPoolSize: 64 + * # 连接空闲超时,单位:毫秒 + * idleConnectionTimeout: 10000 + * # ping连接间隔 + * pingConnectionInterval: 1000 + * # 命令等待超时,单位:毫秒 + * timeout: 3000 + * # 如果尝试在此限制之内发送成功,则开始启用 timeout 计时。 + * retryAttempts: 3 + * # 命令重试发送时间间隔,单位:毫秒 + * retryInterval: 1500 + * # 从可用服务器的内部列表中排除 Redis Slave 重新连接尝试的间隔。 + * failedSlaveReconnectionInterval: 3000 + * # 发布和订阅连接池最小空闲连接数 + * subscriptionConnectionMinimumIdleSize: 1 + * # 发布和订阅连接池大小 + * subscriptionConnectionPoolSize: 50 + * # 单个连接最大订阅数量 + * subscriptionsPerConnection: 5 + * # 扫描间隔 + * scanInterval: 1000 + * # DNS监测时间间隔,单位:毫秒 + * dnsMonitoringInterval: 5000 + * # 读取模式 + * readMode: "SLAVE" + * # 订阅模式 + * subscriptionMode: "MASTER" + */ + }