diff --git a/pom.xml b/pom.xml index 3909806..ad1270a 100644 --- a/pom.xml +++ b/pom.xml @@ -41,6 +41,7 @@ 2.16.1 8.0.29 3.5.5 + 1.2.21 @@ -116,6 +117,12 @@ mysql-connector-java ${mysql-connector-java.version} + + + com.alibaba + druid-spring-boot-3-starter + ${druid.version} + diff --git a/xiaoyi-auth/pom.xml b/xiaoyi-auth/pom.xml index 7e19c52..f762ef8 100644 --- a/xiaoyi-auth/pom.xml +++ b/xiaoyi-auth/pom.xml @@ -47,6 +47,11 @@ mysql mysql-connector-java + + + com.alibaba + druid-spring-boot-3-starter + diff --git a/xiaoyi-auth/src/main/resources/banner.txt b/xiaoyi-auth/src/main/resources/banner.txt new file mode 100644 index 0000000..f5ec571 --- /dev/null +++ b/xiaoyi-auth/src/main/resources/banner.txt @@ -0,0 +1,18 @@ + /$$ /$$ /$$ /$$ /$$ +| $$ / $$|__/ |__/ | $$ +| $$/ $$/ /$$ /$$$$$$ /$$$$$$ /$$ /$$ /$$ /$$$$$$$| $$$$$$$ /$$ /$$ + \ $$$$/ | $$ |____ $$ /$$__ $$| $$ | $$| $$ /$$_____/| $$__ $$| $$ | $$ + >$$ $$ | $$ /$$$$$$$| $$ \ $$| $$ | $$| $$| $$$$$$ | $$ \ $$| $$ | $$ + /$$/\ $$| $$ /$$__ $$| $$ | $$| $$ | $$| $$ \____ $$| $$ | $$| $$ | $$ +| $$ \ $$| $$| $$$$$$$| $$$$$$/| $$$$$$$| $$ /$$$$$$$/| $$ | $$| $$$$$$/ +|__/ |__/|__/ \_______/ \______/ \____ $$|__/|_______/ |__/ |__/ \______/ + /$$ | $$ + | $$$$$$/ + \______/ + +One-stop focus on the whole network hotspot. +::::::::::::::::::::::::::::::::::::::::::::::::::: +author: 刑加一 +email: 2294931964@qq.com +about me: https://blog.crushtj.top +::::::::::::::::::::::::::::::::::::::::::::::::::: \ No newline at end of file diff --git a/xiaoyi-auth/src/main/resources/config/application-dev.yml b/xiaoyi-auth/src/main/resources/config/application-dev.yml index 894fdb1..004daf5 100644 --- a/xiaoyi-auth/src/main/resources/config/application-dev.yml +++ b/xiaoyi-auth/src/main/resources/config/application-dev.yml @@ -1,14 +1,53 @@ +server: + port: 18881 + servlet: + context-path: /xiaoyishu-auth + spring: datasource: driver-class-name: com.mysql.cj.jdbc.Driver # 数据库连接信息 url: jdbc:mysql://10.0.0.3:3306/xiaoyishu?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true username: xiaoyi - password: HhpxE2HWE4bGTyB5 + password: Os0TpcErSh26nT4Nqqjgo2vwi3IaEglzj+brT2b7q0P4Dlhnv3OEQVUNpG/dYqvJZUCR2/IyfxQ4LnQIB7FcfQ== + druid: # Druid 连接池 + initial-size: 5 # 初始化连接池大小 + min-idle: 5 # 最小连接池数量 + max-active: 100 # 最大连接池数量 + max-wait: 60000 # 连接时最大等待时间(单位:毫秒) + test-while-idle: true + time-between-eviction-runs-millis: 60000 # 配置多久进行一次检测,检测需要关闭的连接(单位:毫秒) + min-evictable-idle-time-millis: 300000 # 配置一个连接在连接池中最小生存的时间(单位:毫秒) + max-evictable-idle-time-millis: 900000 # 配置一个连接在连接池中最大生存的时间(单位:毫秒) + validation-query: SELECT 1 FROM DUAL # 配置测试连接是否可用的查询 sql + test-on-borrow: false + test-on-return: false + pool-prepared-statements: false + web-stat-filter: + enabled: true + stat-view-servlet: + enabled: true + url-pattern: /druid/* # 配置监控后台访问路径 + login-username: admin # 配置监控后台登录的用户名、密码 + login-password: admin + filter: + config: + enabled: true + stat: + enabled: true + log-slow-sql: true # 开启慢 sql 记录 + slow-sql-millis: 2000 # 若执行耗时大于 2s,则视为慢 sql + merge-sql: true + wall: # 防火墙 + config: + multi-statement-allow: true + connection-properties: config.decrypt=true;config.decrypt.key=MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAK6C4nQHNuYSebx/5vOdvDqP/o8AH+p73s1LWCFs915RiwVHvtEd+ropmXkCO3Agc9Zuo8pyMvccIgPL9F0I8YkCAwEAAQ== + output: + ansi: + enabled: always + application: + name: xiaoyishu-auth -logging: - level: - top.crushtj.xiaoyishu.auth.domain.mappers: debug mybatis-plus: mapper-locations: - classpath*:top/crushtj/**/*.xml # 匹配所有模块中的 Mapper XML 文件 @@ -16,3 +55,11 @@ mybatis-plus: configuration: map-underscore-to-camel-case: true # 开启驼峰命名转换 log-impl: org.apache.ibatis.logging.stdout.StdOutImpl # 日志输出(调试用) + +logging: + level: + top.crushtj.xiaoyishu.auth.domain.mappers: debug + config: classpath:config/logback-dev.xml + + + diff --git a/xiaoyi-auth/src/main/resources/config/logback-dev.xml b/xiaoyi-auth/src/main/resources/config/logback-dev.xml new file mode 100644 index 0000000..2b3308b --- /dev/null +++ b/xiaoyi-auth/src/main/resources/config/logback-dev.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + true + + ${CONSOLE_LOG_PATTERN} + + + + + + + diff --git a/xiaoyi-auth/src/main/resources/config/logback-prod.xml b/xiaoyi-auth/src/main/resources/config/logback-prod.xml new file mode 100644 index 0000000..ffd5ddd --- /dev/null +++ b/xiaoyi-auth/src/main/resources/config/logback-prod.xml @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + ${LOG_FILE}-%i.log + + 30 + + + 10MB + + + + + ${FILE_LOG_PATTERN} + + + + + + + + + + + + diff --git a/xiaoyi-auth/src/test/java/top/crushtj/xiaoyishu/auth/DruidTest.java b/xiaoyi-auth/src/test/java/top/crushtj/xiaoyishu/auth/DruidTest.java new file mode 100644 index 0000000..5250ecc --- /dev/null +++ b/xiaoyi-auth/src/test/java/top/crushtj/xiaoyishu/auth/DruidTest.java @@ -0,0 +1,40 @@ +package top.crushtj.xiaoyishu.auth; + +import com.alibaba.druid.filter.config.ConfigTools; +import lombok.SneakyThrows; +import lombok.extern.slf4j.Slf4j; +import org.junit.jupiter.api.Test; +import org.springframework.boot.test.context.SpringBootTest; + +/** + * @author hanfuye + * @version V1.0 + * @Title: DruidTest + * @Description: + * @date 2025/12/01 + */ + +@SpringBootTest +@Slf4j +public class DruidTest { + + /** + * Druid 密码加密 + */ + @Test + @SneakyThrows + void testEncodePassword() { + // 你的密码 + String password = "HhpxE2HWE4bGTyB5"; + String[] arr = ConfigTools.genKeyPair(512); + + // 私钥 + log.info("privateKey: {}", arr[0]); + // 公钥 + log.info("publicKey: {}", arr[1]); + + // 通过私钥加密密码 + String encodePassword = ConfigTools.encrypt(arr[0], password); + log.info("password: {}", encodePassword); + } +} diff --git a/xiaoyi-auth/src/test/java/top/crushtj/xiaoyishu/auth/XiaoyiAuthApplicationTests.java b/xiaoyi-auth/src/test/java/top/crushtj/xiaoyishu/auth/XiaoyiAuthApplicationTests.java index c18baa8..e67a88e 100644 --- a/xiaoyi-auth/src/test/java/top/crushtj/xiaoyishu/auth/XiaoyiAuthApplicationTests.java +++ b/xiaoyi-auth/src/test/java/top/crushtj/xiaoyishu/auth/XiaoyiAuthApplicationTests.java @@ -1,5 +1,6 @@ package top.crushtj.xiaoyishu.auth; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import jakarta.annotation.Resource; import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Test; @@ -31,4 +32,12 @@ class XiaoyiAuthApplicationTests { userMapper.insert(user); } + @Test + void queryTest(){ + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(UserEntity::getUsername, "刑加一"); + UserEntity user = userMapper.selectOne(queryWrapper); + log.info("查询结果:{}", user); + } + }