初始化项目
This commit is contained in:
commit
afe542010b
38
.gitignore
vendored
Normal file
38
.gitignore
vendored
Normal file
@ -0,0 +1,38 @@
|
||||
target/
|
||||
!.mvn/wrapper/maven-wrapper.jar
|
||||
!**/src/main/**/target/
|
||||
!**/src/test/**/target/
|
||||
|
||||
### IntelliJ IDEA ###
|
||||
.idea/modules.xml
|
||||
.idea/jarRepositories.xml
|
||||
.idea/compiler.xml
|
||||
.idea/libraries/
|
||||
*.iws
|
||||
*.iml
|
||||
*.ipr
|
||||
|
||||
### Eclipse ###
|
||||
.apt_generated
|
||||
.classpath
|
||||
.factorypath
|
||||
.project
|
||||
.settings
|
||||
.springBeans
|
||||
.sts4-cache
|
||||
|
||||
### NetBeans ###
|
||||
/nbproject/private/
|
||||
/nbbuild/
|
||||
/dist/
|
||||
/nbdist/
|
||||
/.nb-gradle/
|
||||
build/
|
||||
!**/src/main/**/build/
|
||||
!**/src/test/**/build/
|
||||
|
||||
### VS Code ###
|
||||
.vscode/
|
||||
|
||||
### Mac OS ###
|
||||
.DS_Store
|
||||
8
.idea/.gitignore
vendored
Normal file
8
.idea/.gitignore
vendored
Normal file
@ -0,0 +1,8 @@
|
||||
# Default ignored files
|
||||
/shelf/
|
||||
/workspace.xml
|
||||
# Editor-based HTTP Client requests
|
||||
/httpRequests/
|
||||
# Datasource local storage ignored files
|
||||
/dataSources/
|
||||
/dataSources.local.xml
|
||||
25
.idea/encodings.xml
Normal file
25
.idea/encodings.xml
Normal file
@ -0,0 +1,25 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="Encoding">
|
||||
<file url="file://$PROJECT_DIR$/coder-common-thin-common/src/main/java" charset="UTF-8" />
|
||||
<file url="file://$PROJECT_DIR$/coder-common-thin-common/src/main/resources" charset="UTF-8" />
|
||||
<file url="file://$PROJECT_DIR$/coder-common-thin-model/src/main/java" charset="UTF-8" />
|
||||
<file url="file://$PROJECT_DIR$/coder-common-thin-model/src/main/resources" charset="UTF-8" />
|
||||
<file url="file://$PROJECT_DIR$/coder-common-thin-modules/coder-common-thin-system/src/main/java" charset="UTF-8" />
|
||||
<file url="file://$PROJECT_DIR$/coder-common-thin-modules/coder-common-thin-system/src/main/resources" charset="UTF-8" />
|
||||
<file url="file://$PROJECT_DIR$/coder-common-thin-modules/src/main/java" charset="UTF-8" />
|
||||
<file url="file://$PROJECT_DIR$/coder-common-thin-modules/src/main/resources" charset="UTF-8" />
|
||||
<file url="file://$PROJECT_DIR$/coder-common-thin-mybatisplus/src/main/java" charset="UTF-8" />
|
||||
<file url="file://$PROJECT_DIR$/coder-common-thin-mybatisplus/src/main/resources" charset="UTF-8" />
|
||||
<file url="file://$PROJECT_DIR$/coder-common-thin-plugins/coder-common-thin-resultex/src/main/java" charset="UTF-8" />
|
||||
<file url="file://$PROJECT_DIR$/coder-common-thin-plugins/coder-common-thin-resultex/src/main/resources" charset="UTF-8" />
|
||||
<file url="file://$PROJECT_DIR$/coder-common-thin-plugins/coder-common-thin-sa-token/src/main/java" charset="UTF-8" />
|
||||
<file url="file://$PROJECT_DIR$/coder-common-thin-plugins/coder-common-thin-sa-token/src/main/resources" charset="UTF-8" />
|
||||
<file url="file://$PROJECT_DIR$/coder-common-thin-plugins/src/main/java" charset="UTF-8" />
|
||||
<file url="file://$PROJECT_DIR$/coder-common-thin-plugins/src/main/resources" charset="UTF-8" />
|
||||
<file url="file://$PROJECT_DIR$/coder-common-thin-web/src/main/java" charset="UTF-8" />
|
||||
<file url="file://$PROJECT_DIR$/coder-common-thin-web/src/main/resources" charset="UTF-8" />
|
||||
<file url="file://$PROJECT_DIR$/src/main/java" charset="UTF-8" />
|
||||
<file url="file://$PROJECT_DIR$/src/main/resources" charset="UTF-8" />
|
||||
</component>
|
||||
</project>
|
||||
6
.idea/git_toolbox_blame.xml
Normal file
6
.idea/git_toolbox_blame.xml
Normal file
@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="GitToolBoxBlameSettings">
|
||||
<option name="version" value="2" />
|
||||
</component>
|
||||
</project>
|
||||
6
.idea/inspectionProfiles/Project_Default.xml
Normal file
6
.idea/inspectionProfiles/Project_Default.xml
Normal file
@ -0,0 +1,6 @@
|
||||
<component name="InspectionProjectProfileManager">
|
||||
<profile version="1.0">
|
||||
<option name="myName" value="Project Default" />
|
||||
<inspection_tool class="VulnerableLibrariesLocal" enabled="false" level="WARNING" enabled_by_default="false" />
|
||||
</profile>
|
||||
</component>
|
||||
16
.idea/misc.xml
Normal file
16
.idea/misc.xml
Normal file
@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ExternalStorageConfigurationManager" enabled="true" />
|
||||
<component name="MavenProjectsManager">
|
||||
<option name="originalFiles">
|
||||
<list>
|
||||
<option value="$PROJECT_DIR$/pom.xml" />
|
||||
<option value="$PROJECT_DIR$/coder-common-thin-plugins/coder-common-thin-resultex/pom.xml" />
|
||||
<option value="$PROJECT_DIR$/coder-common-thin-plugins/coder-common-thin-sa-token/pom.xml" />
|
||||
</list>
|
||||
</option>
|
||||
</component>
|
||||
<component name="ProjectRootManager" version="2" languageLevel="JDK_17" default="true" project-jdk-name="17" project-jdk-type="JavaSDK">
|
||||
<output url="file://$PROJECT_DIR$/out" />
|
||||
</component>
|
||||
</project>
|
||||
6
.idea/vcs.xml
Normal file
6
.idea/vcs.xml
Normal file
@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="VcsDirectoryMappings">
|
||||
<mapping directory="$PROJECT_DIR$" vcs="Git" />
|
||||
</component>
|
||||
</project>
|
||||
94
coder-common-thin-common/pom.xml
Normal file
94
coder-common-thin-common/pom.xml
Normal file
@ -0,0 +1,94 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<parent>
|
||||
<groupId>org.leocoder.thin</groupId>
|
||||
<artifactId>coder-common-thin-backend</artifactId>
|
||||
<version>${revision}</version>
|
||||
</parent>
|
||||
|
||||
|
||||
<name>coder-common-thin-common</name>
|
||||
<artifactId>coder-common-thin-common</artifactId>
|
||||
<description>全局工具类</description>
|
||||
<dependencies>
|
||||
<!-- SpringBoot Web容器 -->
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-web</artifactId>
|
||||
</dependency>
|
||||
<!-- Redis -->
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-data-redis</artifactId>
|
||||
</dependency>
|
||||
<!-- SpringBoot 安全性检查[可以用于检测系统的健康情况、当前的Beans、系统的缓存] -->
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-actuator</artifactId>
|
||||
</dependency>
|
||||
<!-- 解析客户端操作系统、浏览器等 -->
|
||||
<dependency>
|
||||
<groupId>eu.bitwalker</groupId>
|
||||
<artifactId>UserAgentUtils</artifactId>
|
||||
</dependency>
|
||||
<!-- 阿里StringUtils工具类 -->
|
||||
<dependency>
|
||||
<groupId>org.apache.commons</groupId>
|
||||
<artifactId>commons-lang3</artifactId>
|
||||
</dependency>
|
||||
<!-- 阿里JSON转化工具 -->
|
||||
<dependency>
|
||||
<groupId>com.alibaba.fastjson2</groupId>
|
||||
<artifactId>fastjson2</artifactId>
|
||||
</dependency>
|
||||
<!-- Lombok -->
|
||||
<dependency>
|
||||
<groupId>org.projectlombok</groupId>
|
||||
<artifactId>lombok</artifactId>
|
||||
</dependency>
|
||||
<!-- Slf4j -->
|
||||
<dependency>
|
||||
<groupId>org.slf4j</groupId>
|
||||
<artifactId>slf4j-api</artifactId>
|
||||
</dependency>
|
||||
<!-- Joda-Time日期时间工具类 -->
|
||||
<dependency>
|
||||
<groupId>joda-time</groupId>
|
||||
<artifactId>joda-time</artifactId>
|
||||
</dependency>
|
||||
<!-- Ip地址获取 -->
|
||||
<dependency>
|
||||
<groupId>net.dreamlu</groupId>
|
||||
<artifactId>mica-ip2region</artifactId>
|
||||
</dependency>
|
||||
<!-- guava -->
|
||||
<dependency>
|
||||
<groupId>com.google.guava</groupId>
|
||||
<artifactId>guava</artifactId>
|
||||
</dependency>
|
||||
<!-- hutool工具类 -->
|
||||
<dependency>
|
||||
<groupId>cn.hutool</groupId>
|
||||
<artifactId>hutool-all</artifactId>
|
||||
</dependency>
|
||||
<!-- 动态数据源[单独提供给web服务使用] -->
|
||||
<dependency>
|
||||
<groupId>com.baomidou</groupId>
|
||||
<artifactId>dynamic-datasource-spring-boot3-starter</artifactId>
|
||||
</dependency>
|
||||
<!-- Sa-Token 权限认证,在线文档:https://sa-token.cc -->
|
||||
<dependency>
|
||||
<groupId>cn.dev33</groupId>
|
||||
<artifactId>sa-token-spring-boot3-starter</artifactId>
|
||||
</dependency>
|
||||
<!-- 验证码-->
|
||||
<dependency>
|
||||
<groupId>com.github.whvcse</groupId>
|
||||
<artifactId>easy-captcha</artifactId>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
</project>
|
||||
51
coder-common-thin-model/pom.xml
Normal file
51
coder-common-thin-model/pom.xml
Normal file
@ -0,0 +1,51 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<parent>
|
||||
<groupId>org.leocoder.thin</groupId>
|
||||
<artifactId>coder-common-thin-backend</artifactId>
|
||||
<version>${revision}</version>
|
||||
</parent>
|
||||
|
||||
|
||||
<name>coder-common-thin-model</name>
|
||||
<artifactId>coder-common-thin-model</artifactId>
|
||||
<description>实体类模块</description>
|
||||
|
||||
<dependencies>
|
||||
<!-- Lombok -->
|
||||
<dependency>
|
||||
<groupId>org.projectlombok</groupId>
|
||||
<artifactId>lombok</artifactId>
|
||||
</dependency>
|
||||
<!-- 实体中会用mp的注解 -->
|
||||
<dependency>
|
||||
<groupId>com.baomidou</groupId>
|
||||
<artifactId>mybatis-plus-spring-boot3-starter</artifactId>
|
||||
</dependency>
|
||||
<!-- 自定义验证注解 -->
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-validation</artifactId>
|
||||
</dependency>
|
||||
<!-- 数据脱敏 -->
|
||||
<!-- <dependency> -->
|
||||
<!-- <groupId>org.leocoder.thin</groupId> -->
|
||||
<!-- <artifactId>coder-common-thin-desensitize</artifactId> -->
|
||||
<!-- <version>${revision}</version> -->
|
||||
<!-- </dependency> -->
|
||||
<!-- 参数校验 -->
|
||||
<dependency>
|
||||
<groupId>org.hibernate.validator</groupId>
|
||||
<artifactId>hibernate-validator</artifactId>
|
||||
</dependency>
|
||||
<!-- EasyExcel -->
|
||||
<dependency>
|
||||
<groupId>com.alibaba</groupId>
|
||||
<artifactId>easyexcel</artifactId>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
</project>
|
||||
45
coder-common-thin-modules/coder-common-thin-system/pom.xml
Normal file
45
coder-common-thin-modules/coder-common-thin-system/pom.xml
Normal file
@ -0,0 +1,45 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<parent>
|
||||
<groupId>org.leocoder.thin</groupId>
|
||||
<artifactId>coder-common-thin-backend</artifactId>
|
||||
<version>${revision}</version>
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
|
||||
<name>coder-common-thin-system</name>
|
||||
<artifactId>coder-common-thin-system</artifactId>
|
||||
<description>系统模块</description>
|
||||
|
||||
<dependencies>
|
||||
<!-- 公共模块 -->
|
||||
<dependency>
|
||||
<groupId>org.leocoder.thin</groupId>
|
||||
<artifactId>coder-common-thin-common</artifactId>
|
||||
<version>${revision}</version>
|
||||
</dependency>
|
||||
<!-- 数据统一返回、全局异常以及限流、数据脱敏、重复提交等插件 -->
|
||||
<dependency>
|
||||
<groupId>org.leocoder.thin</groupId>
|
||||
<artifactId>coder-common-thin-resultex</artifactId>
|
||||
<version>${revision}</version>
|
||||
</dependency>
|
||||
<!-- Sa-Token组件 -->
|
||||
<dependency>
|
||||
<groupId>org.leocoder.thin</groupId>
|
||||
<artifactId>coder-common-thin-sa-token</artifactId>
|
||||
<version>${revision}</version>
|
||||
</dependency>
|
||||
<!-- 操作日志组件 -->
|
||||
<!-- <dependency> -->
|
||||
<!-- <groupId>org.leocoder.thin</groupId> -->
|
||||
<!-- <artifactId>coder-common-thin-oper-logs</artifactId> -->
|
||||
<!-- <version>${revision}</version> -->
|
||||
<!-- </dependency> -->
|
||||
</dependencies>
|
||||
|
||||
</project>
|
||||
22
coder-common-thin-modules/pom.xml
Normal file
22
coder-common-thin-modules/pom.xml
Normal file
@ -0,0 +1,22 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<parent>
|
||||
<groupId>org.leocoder.thin</groupId>
|
||||
<artifactId>coder-common-thin-backend</artifactId>
|
||||
<version>${revision}</version>
|
||||
</parent>
|
||||
|
||||
|
||||
<artifactId>coder-common-thin-modules</artifactId>
|
||||
<packaging>pom</packaging>
|
||||
<description>业务模块</description>
|
||||
|
||||
|
||||
<modules>
|
||||
<module>coder-common-thin-system</module>
|
||||
</modules>
|
||||
|
||||
</project>
|
||||
46
coder-common-thin-mybatisplus/pom.xml
Normal file
46
coder-common-thin-mybatisplus/pom.xml
Normal file
@ -0,0 +1,46 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<parent>
|
||||
<groupId>org.leocoder.thin</groupId>
|
||||
<artifactId>coder-common-thin-backend</artifactId>
|
||||
<version>${revision}</version>
|
||||
</parent>
|
||||
|
||||
|
||||
<name>coder-mybatis-plus</name>
|
||||
<artifactId>coder-common-thin-mybatisplus</artifactId>
|
||||
<description>MybatisPlus插件</description>
|
||||
|
||||
<dependencies>
|
||||
<!-- Mapper针对pojo,bo,vo,dto等依赖进来 -->
|
||||
<dependency>
|
||||
<groupId>org.leocoder.thin</groupId>
|
||||
<artifactId>coder-common-thin-model</artifactId>
|
||||
<version>${revision}</version>
|
||||
</dependency>
|
||||
<!-- MySQL数据库连接依赖[只有接口工程需要] -->
|
||||
<dependency>
|
||||
<groupId>com.mysql</groupId>
|
||||
<artifactId>mysql-connector-j</artifactId>
|
||||
</dependency>
|
||||
<!-- Mapper会用到MyBatisPlus的类 -->
|
||||
<dependency>
|
||||
<groupId>com.baomidou</groupId>
|
||||
<artifactId>mybatis-plus-spring-boot3-starter</artifactId>
|
||||
</dependency>
|
||||
<!-- MyBatisPlus PaginationInnerInterceptor分离插件 -->
|
||||
<dependency>
|
||||
<groupId>com.baomidou</groupId>
|
||||
<artifactId>mybatis-plus-jsqlparser</artifactId>
|
||||
</dependency>
|
||||
<!-- p6spy SQL打印 -->
|
||||
<dependency>
|
||||
<groupId>p6spy</groupId>
|
||||
<artifactId>p6spy</artifactId>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
</project>
|
||||
67
coder-common-thin-plugins/coder-common-thin-resultex/pom.xml
Normal file
67
coder-common-thin-plugins/coder-common-thin-resultex/pom.xml
Normal file
@ -0,0 +1,67 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<parent>
|
||||
<groupId>org.leocoder.thin</groupId>
|
||||
<artifactId>coder-common-thin-plugins</artifactId>
|
||||
<version>${revision}</version>
|
||||
</parent>
|
||||
|
||||
|
||||
<name>coder-common-thin-resultex</name>
|
||||
<artifactId>coder-common-thin-resultex</artifactId>
|
||||
<description>全局统一返回 和 全局异常类</description>
|
||||
|
||||
<dependencies>
|
||||
<!-- Model模块 -->
|
||||
<dependency>
|
||||
<groupId>org.leocoder.thin</groupId>
|
||||
<artifactId>coder-common-thin-model</artifactId>
|
||||
<version>${revision}</version>
|
||||
</dependency>
|
||||
<!-- MyBatisPlus模块[可删除,coder-dict插件已经依赖] -->
|
||||
<dependency>
|
||||
<groupId>org.leocoder.thin</groupId>
|
||||
<artifactId>coder-common-thin-mybatisplus</artifactId>
|
||||
<version>${revision}</version>
|
||||
</dependency>
|
||||
<!-- 数据字典翻译 -->
|
||||
<!-- <dependency> -->
|
||||
<!-- <groupId>org.leocoder.thin</groupId> -->
|
||||
<!-- <artifactId>coder-common-thin-dict</artifactId> -->
|
||||
<!-- <version>${revision}</version> -->
|
||||
<!-- </dependency> -->
|
||||
<!-- 限流(工具类模块已包含里面,其他插件都使用) -->
|
||||
<!-- <dependency> -->
|
||||
<!-- <groupId>org.leocoder.thin</groupId> -->
|
||||
<!-- <artifactId>coder-common-thin-limit</artifactId> -->
|
||||
<!-- <version>${revision}</version> -->
|
||||
<!-- </dependency> -->
|
||||
<!-- 重复提交插件-->
|
||||
<!-- <dependency> -->
|
||||
<!-- <groupId>org.leocoder.thin</groupId> -->
|
||||
<!-- <artifactId>coder-common-thin-repect</artifactId> -->
|
||||
<!-- <version>${revision}</version> -->
|
||||
<!-- </dependency> -->
|
||||
<!-- EasyExcel插件 -->
|
||||
<!-- <dependency> -->
|
||||
<!-- <groupId>org.leocoder.thin</groupId> -->
|
||||
<!-- <artifactId>coder-common-thin-easyexcel</artifactId> -->
|
||||
<!-- <version>${revision}</version> -->
|
||||
<!-- </dependency> -->
|
||||
<!-- 常用注解:例如:部门数据权限注解 -->
|
||||
<!-- <dependency> -->
|
||||
<!-- <groupId>org.leocoder.thin</groupId> -->
|
||||
<!-- <artifactId>coder-common-thin-annotation</artifactId> -->
|
||||
<!-- <version>${revision}</version> -->
|
||||
<!-- </dependency> -->
|
||||
<!-- Sa-Token 权限认证,用来处理全局拦截sa-token异常使用,在线文档:https://sa-token.cc -->
|
||||
<dependency>
|
||||
<groupId>cn.dev33</groupId>
|
||||
<artifactId>sa-token-spring-boot3-starter</artifactId>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
</project>
|
||||
58
coder-common-thin-plugins/coder-common-thin-sa-token/pom.xml
Normal file
58
coder-common-thin-plugins/coder-common-thin-sa-token/pom.xml
Normal file
@ -0,0 +1,58 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<parent>
|
||||
<groupId>org.leocoder.thin</groupId>
|
||||
<artifactId>coder-common-thin-plugins</artifactId>
|
||||
<version>${revision}</version>
|
||||
</parent>
|
||||
|
||||
|
||||
<name>coder-common-thin-sa-token</name>
|
||||
<artifactId>coder-common-thin-sa-token</artifactId>
|
||||
<description>Sa-Token模块</description>
|
||||
|
||||
<dependencies>
|
||||
<!-- 全局公共模块 -->
|
||||
<dependency>
|
||||
<groupId>org.leocoder.thin</groupId>
|
||||
<artifactId>coder-common-thin-common</artifactId>
|
||||
<version>${revision}</version>
|
||||
</dependency>
|
||||
<!-- MyBatisPlus模块 -->
|
||||
<dependency>
|
||||
<groupId>org.leocoder.thin</groupId>
|
||||
<artifactId>coder-common-thin-mybatisplus</artifactId>
|
||||
<version>${revision}</version>
|
||||
</dependency>
|
||||
<!-- Aop依赖 -->
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-aop</artifactId>
|
||||
</dependency>
|
||||
<!-- Sa-Token 权限认证 start -->
|
||||
<dependency>
|
||||
<groupId>cn.dev33</groupId>
|
||||
<artifactId>sa-token-spring-boot3-starter</artifactId>
|
||||
</dependency>
|
||||
<!-- Sa-Token 整合 Redis[使用 jackson 序列化方式] -->
|
||||
<dependency>
|
||||
<groupId>cn.dev33</groupId>
|
||||
<artifactId>sa-token-redis-jackson</artifactId>
|
||||
</dependency>
|
||||
<!-- 注意:无论使用哪种序列化方式,你都必须为项目提供一个 Redis 实例化方案 -->
|
||||
<!-- 提供Redis连接池[Sa-Token] -->
|
||||
<dependency>
|
||||
<groupId>org.apache.commons</groupId>
|
||||
<artifactId>commons-pool2</artifactId>
|
||||
</dependency>
|
||||
<!-- Sa-Token 整合 SpringAOP 实现注解鉴权 -->
|
||||
<dependency>
|
||||
<groupId>cn.dev33</groupId>
|
||||
<artifactId>sa-token-spring-aop</artifactId>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
</project>
|
||||
22
coder-common-thin-plugins/pom.xml
Normal file
22
coder-common-thin-plugins/pom.xml
Normal file
@ -0,0 +1,22 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<parent>
|
||||
<groupId>org.leocoder.thin</groupId>
|
||||
<artifactId>coder-common-thin-backend</artifactId>
|
||||
<version>${revision}</version>
|
||||
</parent>
|
||||
|
||||
|
||||
<artifactId>coder-common-thin-plugins</artifactId>
|
||||
<packaging>pom</packaging>
|
||||
<description>插件模块</description>
|
||||
|
||||
<modules>
|
||||
<module>coder-common-thin-resultex</module>
|
||||
<module>coder-common-thin-sa-token</module>
|
||||
</modules>
|
||||
|
||||
</project>
|
||||
88
coder-common-thin-web/pom.xml
Normal file
88
coder-common-thin-web/pom.xml
Normal file
@ -0,0 +1,88 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<parent>
|
||||
<groupId>org.leocoder.thin</groupId>
|
||||
<artifactId>coder-common-thin-backend</artifactId>
|
||||
<version>${revision}</version>
|
||||
</parent>
|
||||
|
||||
|
||||
<name>coder-common-thin-web</name>
|
||||
<artifactId>coder-common-thin-web</artifactId>
|
||||
<description>入口项目,负责打包</description>
|
||||
|
||||
<dependencies>
|
||||
<!-- SpringBoot Web容器 -->
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-web</artifactId>
|
||||
</dependency>
|
||||
<!-- Sa-Token模块和系统管理模块 -->
|
||||
<dependency>
|
||||
<groupId>org.leocoder.thin</groupId>
|
||||
<artifactId>coder-common-thin-system</artifactId>
|
||||
<version>${revision}</version>
|
||||
</dependency>
|
||||
<!-- 定时任务 -->
|
||||
<!-- <dependency> -->
|
||||
<!-- <groupId>org.leocoder.thin</groupId> -->
|
||||
<!-- <artifactId>coder-common-thin-job</artifactId> -->
|
||||
<!-- <version>${revision}</version> -->
|
||||
<!-- </dependency> -->
|
||||
<!-- 代码生成器 -->
|
||||
<!-- <dependency> -->
|
||||
<!-- <groupId>org.leocoder.thin</groupId> -->
|
||||
<!-- <artifactId>coder-common-thin-generator</artifactId> -->
|
||||
<!-- <version>${revision}</version> -->
|
||||
<!-- </dependency> -->
|
||||
<!-- 监控模块 -->
|
||||
<!-- <dependency> -->
|
||||
<!-- <groupId>org.leocoder.thin</groupId> -->
|
||||
<!-- <artifactId>coder-common-thin-monitor</artifactId> -->
|
||||
<!-- <version>${revision}</version> -->
|
||||
<!-- </dependency> -->
|
||||
<!-- 热榜API模块 -->
|
||||
<!-- <dependency> -->
|
||||
<!-- <groupId>org.leocoder.thin</groupId> -->
|
||||
<!-- <artifactId>coder-hotlist-api</artifactId> -->
|
||||
<!-- <version>${revision}</version> -->
|
||||
<!-- </dependency> -->
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
<!-- 指定打包名字 -->
|
||||
<finalName>coder-admin</finalName>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-maven-plugin</artifactId>
|
||||
<version>${springboot.version}</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<goals>
|
||||
<goal>repackage</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
</plugins>
|
||||
<resources>
|
||||
<resource>
|
||||
<directory>src/main/java</directory>
|
||||
<includes>
|
||||
<include>**/*.xml</include>
|
||||
</includes>
|
||||
</resource>
|
||||
<resource>
|
||||
<directory>src/main/resources</directory>
|
||||
<includes>
|
||||
<include>**/*</include>
|
||||
</includes>
|
||||
</resource>
|
||||
</resources>
|
||||
</build>
|
||||
|
||||
</project>
|
||||
@ -0,0 +1,43 @@
|
||||
package org.leocoder.thin.web;
|
||||
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.boot.SpringApplication;
|
||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
import org.springframework.scheduling.annotation.EnableScheduling;
|
||||
|
||||
/**
|
||||
* @author : Leocoder
|
||||
* @version 1.0
|
||||
* @date 2025-06-28 14:05
|
||||
* @description : 开头的注解是一个插件插入的开关,如果不是相同目录级别的可以使用这个进行跨包!
|
||||
*/
|
||||
// @EnableCoderSaToken
|
||||
// @EnableCoderEasyExcel
|
||||
// @EnableCoderDesensitize
|
||||
// @EnableCoderRepeatSubmit
|
||||
// @EnableCoderLimit
|
||||
// @EnableMybatisPlus
|
||||
// @EnableResultEx
|
||||
// @EnableOperLog
|
||||
// @EnableCoderDict
|
||||
@EnableScheduling
|
||||
@Slf4j
|
||||
@SpringBootApplication(scanBasePackages = "org.leocoder.thin")
|
||||
public class CoderApplication {
|
||||
public static void main(String[] args) {
|
||||
/* 注意:注入依赖三种选择:@Autowired(required = false) OR @Resource[推荐] OR @RequiredArgsConstructor[推荐] */
|
||||
SpringApplication.run(CoderApplication.class, args);
|
||||
log.info(
|
||||
"\n" +
|
||||
"Coder-Admin管理平台starter =>ヽ(✿゚▽゚)ノ \n" +
|
||||
"超级无敌宇宙最强最帅最可爱系统启动成功(๑‾ ꇴ ‾๑) \n" +
|
||||
" ____ __. .__ _____ ________ _____ .___ _______ \n" +
|
||||
"| |/ _|____ |__| / _ \\ \\______ \\ / \\ | |\\ \\ \n" +
|
||||
"| < / _ \\| | ______ / /_\\ \\ | | \\ / \\ / \\| |/ | \\ \n" +
|
||||
"| | ( <_> ) | /_____/ / | \\| ` \\/ Y \\ / | \\ \n" +
|
||||
"|____|__ \\____/|__| \\____|__ /_______ /\\____|__ /___\\____|__ / \n" +
|
||||
" \\/ \\/ \\/ \\/ \\/ \n" +
|
||||
"CoderApplication[18088] => 闪亮登场(๑•̀ㅂ•́) ✧"
|
||||
);
|
||||
}
|
||||
}
|
||||
79
coder-common-thin-web/src/main/resources/application-dev.yml
Executable file
79
coder-common-thin-web/src/main/resources/application-dev.yml
Executable file
@ -0,0 +1,79 @@
|
||||
spring:
|
||||
datasource:
|
||||
type: com.zaxxer.hikari.HikariDataSource
|
||||
hikari:
|
||||
# 连接池名字
|
||||
pool-name: CORDER-HIKARI-DEV
|
||||
# 最大连接池数量
|
||||
maximum-pool-size: 20
|
||||
# 最小空闲线程数量
|
||||
minimum-idle: 10
|
||||
# 配置获取连接等待超时的时间
|
||||
connectionTimeout: 30000
|
||||
# 校验超时时间
|
||||
validationTimeout: 5000
|
||||
# 空闲连接存活最大时间,默认10分钟
|
||||
idleTimeout: 600000
|
||||
# 此属性控制池中连接的最长生命周期,值0表示无限生命周期,默认30分钟
|
||||
maxLifetime: 1800000
|
||||
# 连接测试query[配置检测连接是否有效]
|
||||
connectionTestQuery: SELECT 1
|
||||
# 多久检查一次连接的活性
|
||||
keepaliveTime: 30000
|
||||
dynamic:
|
||||
# 性能分析插件[有性能损耗,不建议生产环境使用]
|
||||
p6spy: true
|
||||
# 默认数据源[master]
|
||||
primary: master
|
||||
# 严格匹配数据源,默认false. true未匹配到指定数据源时抛异常,false使用默认数据源
|
||||
strict: false
|
||||
datasource:
|
||||
# 主库数据源
|
||||
master: # 没有@DS,默认数据源
|
||||
type: ${spring.datasource.type}
|
||||
url: jdbc:mysql://localhost:3306/coder-common-thin?serverTimezone=GMT%2b8&useUnicode=true&characterEncoding=utf-8&useSSL=false&rewriteBatchedStatements=true
|
||||
driver-class-name: com.mysql.cj.jdbc.Driver
|
||||
username: root
|
||||
password: coder
|
||||
# 从库数据源
|
||||
slave: # @DS("dsName"),dsName可以为组名也可以为具体某个库的名称,使用多数据源遵循格式,注解都在mapper层使用。
|
||||
lazy: true
|
||||
type: ${spring.datasource.type}
|
||||
url: jdbc:mysql://localhost:3306/coder-common-thin-backup?serverTimezone=GMT%2b8&useUnicode=true&characterEncoding=utf-8&useSSL=false&rewriteBatchedStatements=true
|
||||
driver-class-name: com.mysql.cj.jdbc.Driver
|
||||
username: root
|
||||
password: coder
|
||||
# redis配置
|
||||
data:
|
||||
redis:
|
||||
# 地址
|
||||
host: localhost
|
||||
# 端口,默认为6379
|
||||
port: 16379
|
||||
# 数据库索引
|
||||
database: 0
|
||||
# 密码[若没有密码请注释掉,若有账号密码:则 账号:密码]
|
||||
password: coder
|
||||
# 连接超时时间
|
||||
timeout: 10s
|
||||
# 是否开启ssl
|
||||
ssl.enabled: false
|
||||
|
||||
# 项目配置
|
||||
coder:
|
||||
# 名称
|
||||
projectName: CORDER-ADMIN-THIN
|
||||
# 版本
|
||||
projectVersion: 1.0.0
|
||||
# 文件路径 示例[Windows配置D:/CoderFile,Linux配置 /usr/local/CoderFile]
|
||||
filePath: /Users/leocoder/leocoder/develop/templates/coder-common-thin/coder-common-thin-backend/picture
|
||||
# 全局限流
|
||||
globalLimit:
|
||||
# 是否开启全局限流
|
||||
enabled: false
|
||||
# 默认限流时间[秒]
|
||||
time: 1
|
||||
# 默认限流次数
|
||||
count: 12
|
||||
# 是否封禁IP
|
||||
ban: false
|
||||
177
coder-common-thin-web/src/main/resources/application.yml
Executable file
177
coder-common-thin-web/src/main/resources/application.yml
Executable file
@ -0,0 +1,177 @@
|
||||
server:
|
||||
port: ${port:18099}
|
||||
tomcat:
|
||||
# tomcat的URI编码
|
||||
uri-encoding: UTF-8
|
||||
# Tomcat默认限制文件上传的大小是2MB ,超过就不会被捕获,需要调整大一点或者-1不限制
|
||||
max-swallow-size: -1
|
||||
# 不限制POST提交请求的数据大小,默认是2MB
|
||||
max-http-form-post-size: -1
|
||||
# 连接数满后的排队数,默认为100
|
||||
accept-count: 1000
|
||||
threads:
|
||||
# tomcat最大线程数,默认为200
|
||||
max: 800
|
||||
# Tomcat启动初始化的线程数,默认值10
|
||||
min-spare: 100
|
||||
# 开启GZIP压缩,利于你静态资源传输,提升网站请求响应速度
|
||||
compression:
|
||||
enabled: true
|
||||
min-response-size: 1024
|
||||
# 默认是8k
|
||||
max-http-request-header-size: 80KB
|
||||
spring:
|
||||
messages:
|
||||
encoding: UTF-8
|
||||
basename: i18n/messages
|
||||
profiles:
|
||||
active: dev
|
||||
|
||||
# 操作日志配置
|
||||
coder:
|
||||
oper-log:
|
||||
# 异步线程池配置
|
||||
async:
|
||||
core-pool-size: 2
|
||||
max-pool-size: 5
|
||||
queue-capacity: 1000
|
||||
keep-alive-seconds: 60
|
||||
# 日志清理配置
|
||||
clean:
|
||||
enabled: true
|
||||
days: 90
|
||||
cron: "0 0 2 * * ?"
|
||||
# 参数记录配置
|
||||
param:
|
||||
max-length: 2000
|
||||
exclude-fields:
|
||||
- password
|
||||
- pwd
|
||||
- oldPassword
|
||||
- newPassword
|
||||
- confirmPassword
|
||||
# 结果记录配置
|
||||
result:
|
||||
max-length: 2000
|
||||
exclude-large-result: true
|
||||
|
||||
# 解决时间的保存及显示错误问题[实体中就无需再额外注解]
|
||||
jackson:
|
||||
date-format: yyyy-MM-dd HH:mm:ss
|
||||
locale: zh_CN
|
||||
# 解决java中时间是对的,序列化后到前端差8小时
|
||||
time-zone: GMT+8
|
||||
default-property-inclusion: non_null
|
||||
mvc:
|
||||
# 解决时间的保存及显示错误问题[实体中就无需再额外注解]
|
||||
format:
|
||||
date: yyyy-MM-dd HH:mm:ss
|
||||
main: # SpringBootv2.6.3中,做了循环应用的检查,默认情况下,如果类中存在有循环引用的情况,就会报上面的错误
|
||||
allow-circular-references: true
|
||||
application:
|
||||
name: coder-web
|
||||
servlet:
|
||||
multipart:
|
||||
enabled: true
|
||||
# 是单个文件大小 默认1M 10KB
|
||||
max-file-size: 10MB
|
||||
# 是设置总上传的数据大小
|
||||
max-request-size: 20MB
|
||||
freemarker:
|
||||
# 指定HttpServletRequest的属性是否可以覆盖controller的model的同名项
|
||||
allow-request-override: false
|
||||
# req访问request
|
||||
request-context-attribute: request
|
||||
# 后缀名freemarker默认后缀为.ftl,当然你也可以改成自己习惯的.html
|
||||
suffix: .html
|
||||
# 设置响应的内容类型
|
||||
content-type: text/html;charset=utf-8
|
||||
# 是否允许mvc使用freemarker
|
||||
enabled: true
|
||||
# 是否开启template caching
|
||||
cache: false
|
||||
# 检查模板位置是否存在
|
||||
check-template-location: true
|
||||
# 设定模板的加载路径,多个以逗号分隔,默认: [“classpath:/templates/”]
|
||||
template-loader-path: classpath:/templates/,classpath:/templates/**/
|
||||
# 设定Template的编码
|
||||
charset: UTF-8
|
||||
settings:
|
||||
template_update_delay: 0 # 检查模板更新延迟时间,设置为0表示立即检查,如果时间大于0会有缓存不方便进行模板测试
|
||||
tag_syntax: auto_detect
|
||||
default_encoding: UTF-8
|
||||
output_encoding: UTF-8
|
||||
locale: zh_CN
|
||||
date_format: yyyy-MM-dd
|
||||
time_format: HH:mm:ss
|
||||
boolean_format: true,false
|
||||
whitespace_stripping: true
|
||||
url_escaping_charset: UTF-8
|
||||
datetime_format: yyyy/MM/dd HH:mm:ss
|
||||
number_format: 0.##
|
||||
classic_compatible: true
|
||||
# ignore,debug,html_debug,rethrow
|
||||
template_exception_handler: rethrow
|
||||
prefer-file-system-access: false
|
||||
|
||||
# mybatis-plus配置
|
||||
mybatis-plus:
|
||||
mapper-locations: classpath*:mapper/**/*.xml,mapper/*.xml
|
||||
configuration:
|
||||
# MybatisPlus配置中设置将sql日志和结果集输出到控制台,会有性能损耗 org.apache.ibatis.logging.stdout.StdOutImpl
|
||||
# 关闭日志记录[单纯使用 p6spy 分析] org.apache.ibatis.logging.nologging.NoLoggingImpl
|
||||
# 默认日志输出 org.apache.ibatis.logging.slf4j.Slf4jImpl
|
||||
log-impl: org.apache.ibatis.logging.nologging.NoLoggingImpl
|
||||
global-config:
|
||||
# 是否打印 Logo banner
|
||||
banner: true
|
||||
dbConfig:
|
||||
# 主键类型
|
||||
# AUTO[自增] NONE[空] INPUT[用户输入] ASSIGN_ID[雪花] ASSIGN_UUID[唯一] UUID[UUID]
|
||||
idType: ASSIGN_ID
|
||||
# 逻辑已删除值[框架表均使用此值 禁止随意修改]
|
||||
logicDeleteValue: 0
|
||||
# 逻辑未删除值
|
||||
logicNotDeleteValue: 1
|
||||
insertStrategy: NOT_NULL
|
||||
updateStrategy: NOT_NULL
|
||||
whereStrategy: NOT_NULL
|
||||
############## Sa-Token 配置 [文档: https://sa-token.cc] ##############
|
||||
# 1、被顶下线旧的token为何还存在? 如果还是用旧token来请求,就会返回你已被顶下线
|
||||
# 2、前后端分离模式记录的sa-session存在哪个地方? 会存在Redis中
|
||||
# 3、前后端分离模式,退出时,前后端模式获取到token的值只从前端传递过来headers中拿(yml中进行配置的,如下方所示)
|
||||
# 然后StpUtil.logout();自动根据Headers的Authorization获取值,进行从redis中删除token
|
||||
# 是否尝试从header里读取token,Header用来获取客户端使用的操作系统和浏览器名称和版本和token,前端将token怎么存储的需要跟yml下方中配置的保持一致
|
||||
# is-read-header: true
|
||||
# 是否尝试从cookie里读取token
|
||||
# is-read-cookie: false
|
||||
# 是否尝试从请求体里读取token
|
||||
# is-read-body: false
|
||||
# StpUtil.getLoginIdAsString() 使用这种Sa-Token封装的方法必须携带token
|
||||
sa-token:
|
||||
# token名称 [同时也是cookie名称,推荐使用]
|
||||
token-name: Authorization
|
||||
# token 前缀
|
||||
token-prefix: Bearer
|
||||
# token 风格(默认可取值:uuid、simple-uuid、random-32、random-64、random-128、tik)
|
||||
token-style: tik
|
||||
# token有效期,单位s 默认30天, -1代表永不过期(10800[3小时]后端生成的 token,即使用户一直操作,在 30 天后一定会过期,要求用户重新登录)
|
||||
timeout: -1
|
||||
# token 最低活跃频率[单位:秒],如果 token 超过此时间没有访问系统就会被冻结,默认-1 代表不限制,永不冻结 3600
|
||||
active-timeout: -1
|
||||
# 自动续签,指定时间内有操作,则会自动续签
|
||||
auto-renew: true
|
||||
# 是否尝试从cookie里读取token
|
||||
is-read-cookie: false
|
||||
# 是否尝试从header里读取token
|
||||
is-read-header: true
|
||||
# 是否允许同一账号多地同时登录[为 true 时允许一起登录, 为 false 时新登录挤掉旧登录]
|
||||
is-concurrent: true
|
||||
# 在多人登录同一账号时,是否共用一个 token[为 true 时所有登录共用一个 token, 为 false 时每次登录新建一个 token]
|
||||
is-share: false
|
||||
# 是否在初始化配置时打印版本字符画
|
||||
is-print: true
|
||||
# 是否输出操作日志
|
||||
is-log: true
|
||||
|
||||
|
||||
60
coder-common-thin-web/src/main/resources/logback-spring-hour.xml
Executable file
60
coder-common-thin-web/src/main/resources/logback-spring-hour.xml
Executable file
@ -0,0 +1,60 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- 注意:此日志配置将info、warn、error日志合并一个输出,并且按照小时自动生成。 -->
|
||||
<configuration scan="true" scanPeriod="60 seconds" debug="false">
|
||||
<contextName>coder-common-thin-logback</contextName>
|
||||
|
||||
<property name="CORDER_ADMIN_LOGS" value="./logs"/>
|
||||
|
||||
<!-- 彩色日志 -->
|
||||
<conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter"/>
|
||||
<conversionRule conversionWord="wex" converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter"/>
|
||||
<conversionRule conversionWord="wEx" converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter"/>
|
||||
<!-- 彩色日志格式 [%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n -->
|
||||
<property name="CONSOLE_LOG_PATTERN" value="${CONSOLE_LOG_PATTERN:-%clr([TraceId: %X{traceId}]%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"/>
|
||||
|
||||
<!-- 控制台 -->
|
||||
<appender name="stdout" class="ch.qos.logback.core.ConsoleAppender">
|
||||
<encoder>
|
||||
<pattern>${CONSOLE_LOG_PATTERN}</pattern>
|
||||
<charset>UTF-8</charset>
|
||||
</encoder>
|
||||
</appender>
|
||||
|
||||
<appender name="combinedFile" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
||||
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
|
||||
<level>INFO</level>
|
||||
</filter>
|
||||
<filter class="ch.qos.logback.classic.filter.LevelFilter">
|
||||
<level>ERROR</level>
|
||||
</filter>
|
||||
<filter class="ch.qos.logback.classic.filter.LevelFilter">
|
||||
<level>WARN</level>
|
||||
</filter>
|
||||
<!-- 日志存储路径 -->
|
||||
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
|
||||
<fileNamePattern>${CORDER_ADMIN_LOGS}/%d{yyyy-MM-dd_HH}.log</fileNamePattern>
|
||||
<maxHistory>30</maxHistory>
|
||||
<!-- 每个小时生成一个新的文件,而不受日志大小限制(比如100MB)的影响,可以将这个注释 -->
|
||||
<!-- 单个日志文件最大100M,到了这个值,就会再创建一个日志文件,日志文件的名字最后+1 -->
|
||||
<!-- <maxFileSize>100MB</maxFileSize> -->
|
||||
</rollingPolicy>
|
||||
<encoder>
|
||||
<charset>UTF-8</charset>
|
||||
<pattern>[[TraceId: %X{traceId}]%d{yyyy-MM-dd HH:mm:ss.SSS}] [%thread] %-5level %logger{36} : %msg%n</pattern>
|
||||
</encoder>
|
||||
</appender>
|
||||
|
||||
<springProfile name="dev">
|
||||
<root level="info">
|
||||
<appender-ref ref="stdout"/>
|
||||
<appender-ref ref="combinedFile"/>
|
||||
</root>
|
||||
</springProfile>
|
||||
|
||||
<springProfile name="prod">
|
||||
<root level="info">
|
||||
<appender-ref ref="combinedFile"/>
|
||||
</root>
|
||||
</springProfile>
|
||||
|
||||
</configuration>
|
||||
101
coder-common-thin-web/src/main/resources/logback-spring-part.xml
Executable file
101
coder-common-thin-web/src/main/resources/logback-spring-part.xml
Executable file
@ -0,0 +1,101 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- 注意:此日志配置将info、error日志分开输出,并且按照小时生成,日志文件不足100MB则还打印到第一个生成的日志文件。 -->
|
||||
<!--
|
||||
scan: 当此属性设置为true时,配置文件如果发生改变,将会被重新加载,默认值为true。
|
||||
scanPeriod: 设置监测配置文件是否有修改的时间间隔,如果没有给出时间单位,默认单位是毫秒。当scan为true时,此属性生效。默认的时间间隔为1分钟。
|
||||
debug: 当此属性设置为true时,将打印出logback内部日志信息,实时查看logback运行状态。默认值为false。
|
||||
configuration 子节点为 appender、logger、root
|
||||
注意:此日志配置是将info、error日志分开放置。
|
||||
-->
|
||||
<configuration scan="true" scanPeriod="60 seconds" debug="false">
|
||||
<!-- 用于区分不同应用程序的记录 -->
|
||||
<contextName>coder-common-thin-logback</contextName>
|
||||
|
||||
<!-- 日志文件所在目录,如果是tomcat,如下写法日志文件会在则为${TOMCAT_HOME}/bin/logs/目录下 -->
|
||||
<property name="CORDER_ADMIN_LOGS" value="./logs"/>
|
||||
<!-- 彩色日志 -->
|
||||
<!-- 彩色日志依赖的渲染类 -->
|
||||
<conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter"/>
|
||||
<conversionRule conversionWord="wex"
|
||||
converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter"/>
|
||||
<conversionRule conversionWord="wEx"
|
||||
converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter"/>
|
||||
<!-- 彩色日志格式 [%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n -->
|
||||
<property name="CONSOLE_LOG_PATTERN"
|
||||
value="${CONSOLE_LOG_PATTERN:-%clr([TraceId: %X{traceId}]%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"/>
|
||||
|
||||
<!-- 控制台 -->
|
||||
<appender name="stdout" class="ch.qos.logback.core.ConsoleAppender">
|
||||
<encoder>
|
||||
<!-- 格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度 %logger输出日志的logger名 %msg:日志消息,%n是换行符 -->
|
||||
<!-- <pattern>[%d{yyyy-MM-dd HH:mm:ss.SSS}] [%thread] %-5level %logger{36} : %msg%n</pattern> -->
|
||||
<pattern>${CONSOLE_LOG_PATTERN}</pattern><!-- 彩打日志 -->
|
||||
<!-- 解决乱码问题 -->
|
||||
<charset>UTF-8</charset>
|
||||
</encoder>
|
||||
</appender>
|
||||
|
||||
<!-- 滚动文件 -->
|
||||
<appender name="infoFile" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
||||
<!-- ThresholdFilter:临界值过滤器,过滤掉 TRACE 和 DEBUG 级别的日志 -->
|
||||
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
|
||||
<level>INFO</level>
|
||||
</filter>
|
||||
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
|
||||
<fileNamePattern>${CORDER_ADMIN_LOGS}/info/%d{yyyy-MM-dd}/%d{HH}.log</fileNamePattern>
|
||||
<!-- 每个小时生成一个新的文件,而不受日志大小限制(比如100MB)的影响,可以将这个注释 -->
|
||||
<!-- 单个日志文件最大100M,到了这个值,就会再创建一个日志文件,日志文件的名字最后+1 -->
|
||||
<maxFileSize>100MB</maxFileSize>
|
||||
<!-- 保存最近30天的日志 -->
|
||||
<maxHistory>30</maxHistory>
|
||||
<!-- 所有的日志文件最大3G,超过就会删除旧的日志 -->
|
||||
<totalSizeCap>10GB</totalSizeCap>
|
||||
</rollingPolicy>
|
||||
<encoder>
|
||||
<charset>UTF-8</charset>
|
||||
<pattern>[[TraceId: %X{traceId}]%d{yyyy-MM-dd HH:mm:ss.SSS}] [%thread] %-5level %logger{36} : %msg%n
|
||||
</pattern>
|
||||
</encoder>
|
||||
</appender>
|
||||
|
||||
<!-- 滚动文件 -->
|
||||
<appender name="errorFile" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
||||
<!-- ThresholdFilter:临界值过滤器,过滤掉 TRACE 和 DEBUG 级别的日志 -->
|
||||
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
|
||||
<level>ERROR</level>
|
||||
</filter>
|
||||
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
|
||||
<fileNamePattern>${CORDER_ADMIN_LOGS}/error/%d{yyyy-MM-dd}/%d{HH}.log</fileNamePattern>
|
||||
<!-- 每个小时生成一个新的文件,而不受日志大小限制(比如100MB)的影响,可以将这个注释 -->
|
||||
<!-- 单个日志文件最大100M,到了这个值,就会再创建一个日志文件,日志文件的名字最后+1 -->
|
||||
<maxFileSize>100MB</maxFileSize>
|
||||
<!-- 保存最近30天的日志 -->
|
||||
<maxHistory>30</maxHistory>
|
||||
<!-- 所有的日志文件最大3G,超过就会删除旧的日志 -->
|
||||
<totalSizeCap>10GB</totalSizeCap>
|
||||
</rollingPolicy>
|
||||
<encoder>
|
||||
<charset>UTF-8</charset>
|
||||
<pattern>[[TraceId: %X{traceId}]%d{yyyy-MM-dd HH:mm:ss.SSS}] [%thread] %-5level %logger{36} : %msg%n
|
||||
</pattern>
|
||||
</encoder>
|
||||
</appender>
|
||||
|
||||
<!-- 配置多环境日志输出 可以在application.properties中配置选择哪个profiles : spring.profiles.active=dev -->
|
||||
<!-- 开发环境:打印控制台 -->
|
||||
<springProfile name="dev">
|
||||
<root level="info">
|
||||
<appender-ref ref="stdout"/>
|
||||
<appender-ref ref="infoFile"/>
|
||||
<appender-ref ref="errorFile"/>
|
||||
</root>
|
||||
</springProfile>
|
||||
<!-- 生产环境:输出到文件 -->
|
||||
<springProfile name="prod">
|
||||
<root level="info">
|
||||
<appender-ref ref="infoFile"/>
|
||||
<appender-ref ref="errorFile"/>
|
||||
</root>
|
||||
</springProfile>
|
||||
|
||||
</configuration>
|
||||
64
coder-common-thin-web/src/main/resources/logback-spring.xml
Executable file
64
coder-common-thin-web/src/main/resources/logback-spring.xml
Executable file
@ -0,0 +1,64 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- 注意:此日志配置将info、warn、error日志合并一个输出,按照天划分,大于100MB后面日志名字最后+1 -->
|
||||
<configuration scan="true" scanPeriod="60 seconds" debug="false">
|
||||
<contextName>coder-common-thin-logback</contextName>
|
||||
|
||||
<property name="CORDER_ADMIN_LOGS" value="./logs"/>
|
||||
|
||||
<!-- 彩色日志 -->
|
||||
<conversionRule conversionWord="clr" class="org.springframework.boot.logging.logback.ColorConverter"/>
|
||||
<conversionRule conversionWord="wex" class="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter"/>
|
||||
<conversionRule conversionWord="wEx" class="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter"/>
|
||||
<!-- 彩色日志格式 [%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n -->
|
||||
<property name="CONSOLE_LOG_PATTERN" value="${CONSOLE_LOG_PATTERN:-%clr([TraceId: [%boldCyan(%X{traceId})]]%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"/>
|
||||
|
||||
<!-- 控制台 -->
|
||||
<appender name="stdout" class="ch.qos.logback.core.ConsoleAppender">
|
||||
<encoder>
|
||||
<pattern>${CONSOLE_LOG_PATTERN}</pattern>
|
||||
<charset>UTF-8</charset>
|
||||
</encoder>
|
||||
</appender>
|
||||
|
||||
<appender name="combinedFile" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
||||
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
|
||||
<level>INFO</level>
|
||||
</filter>
|
||||
<filter class="ch.qos.logback.classic.filter.LevelFilter">
|
||||
<level>ERROR</level>
|
||||
</filter>
|
||||
<filter class="ch.qos.logback.classic.filter.LevelFilter">
|
||||
<level>WARN</level>
|
||||
</filter>
|
||||
<!-- 日志存储路径 -->
|
||||
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
|
||||
<fileNamePattern>${CORDER_ADMIN_LOGS}/%d{yyyy-MM-dd}.log</fileNamePattern>
|
||||
<maxHistory>30</maxHistory>
|
||||
</rollingPolicy>
|
||||
<!-- 日志很多每天,需要拆分使用下方这个 -->
|
||||
<!-- <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">-->
|
||||
<!-- <fileNamePattern>${CORDER_ADMIN_LOGS}/%d{yyyy-MM-dd}.%i.log</fileNamePattern>-->
|
||||
<!-- <maxHistory>30</maxHistory>-->
|
||||
<!-- <!– 单个日志文件最大100M –>-->
|
||||
<!-- <maxFileSize>100MB</maxFileSize>-->
|
||||
<!-- </rollingPolicy>-->
|
||||
<encoder>
|
||||
<charset>UTF-8</charset>
|
||||
<pattern>[[TraceId: %X{traceId}]%d{yyyy-MM-dd HH:mm:ss.SSS}] [%thread] %-5level %logger{36} : %msg%n</pattern>
|
||||
</encoder>
|
||||
</appender>
|
||||
|
||||
<springProfile name="dev">
|
||||
<root level="info">
|
||||
<appender-ref ref="stdout"/>
|
||||
<appender-ref ref="combinedFile"/>
|
||||
</root>
|
||||
</springProfile>
|
||||
|
||||
<springProfile name="prod">
|
||||
<root level="info">
|
||||
<appender-ref ref="combinedFile"/>
|
||||
</root>
|
||||
</springProfile>
|
||||
|
||||
</configuration>
|
||||
88
logs/2025-07-05.log
Normal file
88
logs/2025-07-05.log
Normal file
@ -0,0 +1,88 @@
|
||||
[[TraceId: ]2025-07-05 12:26:15.487] [background-preinit] INFO o.h.validator.internal.util.Version : HV000001: Hibernate Validator 9.0.0.Final
|
||||
[[TraceId: ]2025-07-05 12:26:15.509] [main] INFO o.leocoder.thin.web.CoderApplication : Starting CoderApplication using Java 17.0.13 with PID 87212 (/Users/leocoder/leocoder/develop/templates/coder-common-thin/coder-common-thin-backend/coder-common-thin-web/target/classes started by leocoder in /Users/leocoder/leocoder/develop/templates/coder-common-thin/coder-common-thin-backend)
|
||||
[[TraceId: ]2025-07-05 12:26:15.509] [main] INFO o.leocoder.thin.web.CoderApplication : The following 1 profile is active: "dev"
|
||||
[[TraceId: ]2025-07-05 12:26:16.046] [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate : Multiple Spring Data modules found, entering strict repository configuration mode
|
||||
[[TraceId: ]2025-07-05 12:26:16.048] [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data Redis repositories in DEFAULT mode.
|
||||
[[TraceId: ]2025-07-05 12:26:16.059] [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 2 ms. Found 0 Redis repository interfaces.
|
||||
[[TraceId: ]2025-07-05 12:26:16.110] [main] WARN o.m.s.mapper.ClassPathMapperScanner : No MyBatis mapper was found in '[org.leocoder.thin.web]' package. Please check your configuration.
|
||||
[[TraceId: ]2025-07-05 12:26:16.293] [main] WARN o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker : Bean 'cn.dev33.satoken.aop.SaAopPointcutAdvisorBeanRegister' of type [cn.dev33.satoken.aop.SaAopPointcutAdvisorBeanRegister$$SpringCGLIB$$0] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying). Is this bean getting eagerly injected/applied to a currently created BeanPostProcessor [meterRegistryPostProcessor]? Check the corresponding BeanPostProcessor declaration and its dependencies/advisors. If this bean does not have to be post-processed, declare it with ROLE_INFRASTRUCTURE.
|
||||
[[TraceId: ]2025-07-05 12:26:16.301] [main] WARN o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker : Bean 'saAroundAnnotationHandlePointcutAdvisor' of type [cn.dev33.satoken.aop.SaAroundAnnotationPointcutAdvisor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying). Is this bean getting eagerly injected/applied to a currently created BeanPostProcessor [meterRegistryPostProcessor]? Check the corresponding BeanPostProcessor declaration and its dependencies/advisors. If this bean does not have to be post-processed, declare it with ROLE_INFRASTRUCTURE.
|
||||
[[TraceId: ]2025-07-05 12:26:16.536] [main] INFO o.s.b.w.e.tomcat.TomcatWebServer : Tomcat initialized with port 18099 (http)
|
||||
[[TraceId: ]2025-07-05 12:26:16.545] [main] INFO o.a.coyote.http11.Http11NioProtocol : Initializing ProtocolHandler ["http-nio-18099"]
|
||||
[[TraceId: ]2025-07-05 12:26:16.546] [main] INFO o.a.catalina.core.StandardService : Starting service [Tomcat]
|
||||
[[TraceId: ]2025-07-05 12:26:16.546] [main] INFO o.a.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.41]
|
||||
[[TraceId: ]2025-07-05 12:26:16.577] [main] INFO o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext
|
||||
[[TraceId: ]2025-07-05 12:26:16.578] [main] INFO o.s.b.w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 1044 ms
|
||||
[[TraceId: ]2025-07-05 12:26:17.114] [main] INFO c.b.d.d.DynamicRoutingDataSource : dynamic-datasource detect P6SPY plugin and enabled it
|
||||
[[TraceId: ]2025-07-05 12:26:17.121] [main] INFO com.zaxxer.hikari.HikariDataSource : master - Starting...
|
||||
[[TraceId: ]2025-07-05 12:26:17.228] [main] INFO com.zaxxer.hikari.pool.HikariPool : master - Added connection com.mysql.cj.jdbc.ConnectionImpl@6a4f7c17
|
||||
[[TraceId: ]2025-07-05 12:26:17.229] [main] INFO com.zaxxer.hikari.HikariDataSource : master - Start completed.
|
||||
[[TraceId: ]2025-07-05 12:26:17.230] [main] INFO c.b.d.d.DynamicRoutingDataSource : dynamic-datasource - add a datasource named [slave] success
|
||||
[[TraceId: ]2025-07-05 12:26:17.230] [main] INFO c.b.d.d.DynamicRoutingDataSource : dynamic-datasource - add a datasource named [master] success
|
||||
[[TraceId: ]2025-07-05 12:26:17.230] [main] INFO c.b.d.d.DynamicRoutingDataSource : dynamic-datasource initial loaded [2] datasource,primary datasource named [master]
|
||||
[[TraceId: ]2025-07-05 12:26:17.298] [main] INFO c.b.m.e.s.MybatisPlusApplicationContextAware : Register ApplicationContext instances org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@4c432866
|
||||
[[TraceId: ]2025-07-05 12:26:17.665] [main] INFO o.s.b.a.e.web.EndpointLinksResolver : Exposing 1 endpoint beneath base path '/actuator'
|
||||
[[TraceId: ]2025-07-05 12:26:17.710] [main] INFO o.a.coyote.http11.Http11NioProtocol : Starting ProtocolHandler ["http-nio-18099"]
|
||||
[[TraceId: ]2025-07-05 12:26:17.725] [main] INFO o.s.b.w.e.tomcat.TomcatWebServer : Tomcat started on port 18099 (http) with context path '/'
|
||||
[[TraceId: ]2025-07-05 12:26:17.737] [main] INFO o.leocoder.thin.web.CoderApplication : Started CoderApplication in 2.582 seconds (process running for 3.154)
|
||||
[[TraceId: ]2025-07-05 12:26:17.741] [main] INFO o.leocoder.thin.web.CoderApplication :
|
||||
Coder-Admin管理平台starter =>ヽ(✿゚▽゚)ノ
|
||||
超级无敌宇宙最强最帅最可爱系统启动成功(๑‾ ꇴ ‾๑)
|
||||
____ __. .__ _____ ________ _____ .___ _______
|
||||
| |/ _|____ |__| / _ \ \______ \ / \ | |\ \
|
||||
| < / _ \| | ______ / /_\ \ | | \ / \ / \| |/ | \
|
||||
| | ( <_> ) | /_____/ / | \| ` \/ Y \ / | \
|
||||
|____|__ \____/|__| \____|__ /_______ /\____|__ /___\____|__ /
|
||||
\/ \/ \/ \/ \/
|
||||
CoderApplication[18088] => 闪亮登场(๑•̀ㅂ•́) ✧
|
||||
[[TraceId: ]2025-07-05 12:26:18.238] [RMI TCP Connection(2)-192.168.86.9] INFO o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet'
|
||||
[[TraceId: ]2025-07-05 12:26:18.238] [RMI TCP Connection(2)-192.168.86.9] INFO o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet'
|
||||
[[TraceId: ]2025-07-05 12:26:18.239] [RMI TCP Connection(2)-192.168.86.9] INFO o.s.web.servlet.DispatcherServlet : Completed initialization in 1 ms
|
||||
[[TraceId: ]2025-07-05 12:27:02.694] [SpringApplicationShutdownHook] INFO o.s.b.w.e.tomcat.GracefulShutdown : Commencing graceful shutdown. Waiting for active requests to complete
|
||||
[[TraceId: ]2025-07-05 12:27:04.707] [tomcat-shutdown] INFO o.s.b.w.e.tomcat.GracefulShutdown : Graceful shutdown complete
|
||||
[[TraceId: ]2025-07-05 12:27:04.720] [SpringApplicationShutdownHook] INFO c.b.d.d.DynamicRoutingDataSource : dynamic-datasource start closing ....
|
||||
[[TraceId: ]2025-07-05 12:27:04.722] [SpringApplicationShutdownHook] INFO c.b.d.d.d.DefaultDataSourceDestroyer : dynamic-datasource close the datasource named [slave] success,
|
||||
[[TraceId: ]2025-07-05 12:27:04.722] [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource : master - Shutdown initiated...
|
||||
[[TraceId: ]2025-07-05 12:27:04.729] [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource : master - Shutdown completed.
|
||||
[[TraceId: ]2025-07-05 12:27:04.729] [SpringApplicationShutdownHook] INFO c.b.d.d.d.DefaultDataSourceDestroyer : dynamic-datasource close the datasource named [master] success,
|
||||
[[TraceId: ]2025-07-05 12:27:04.729] [SpringApplicationShutdownHook] INFO c.b.d.d.DynamicRoutingDataSource : dynamic-datasource all closed success,bye
|
||||
[[TraceId: ]2025-07-05 12:27:06.855] [background-preinit] INFO o.h.validator.internal.util.Version : HV000001: Hibernate Validator 9.0.0.Final
|
||||
[[TraceId: ]2025-07-05 12:27:06.891] [main] INFO o.leocoder.thin.web.CoderApplication : Starting CoderApplication using Java 17.0.13 with PID 87235 (/Users/leocoder/leocoder/develop/templates/coder-common-thin/coder-common-thin-backend/coder-common-thin-web/target/classes started by leocoder in /Users/leocoder/leocoder/develop/templates/coder-common-thin/coder-common-thin-backend)
|
||||
[[TraceId: ]2025-07-05 12:27:06.892] [main] INFO o.leocoder.thin.web.CoderApplication : The following 1 profile is active: "dev"
|
||||
[[TraceId: ]2025-07-05 12:27:07.433] [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate : Multiple Spring Data modules found, entering strict repository configuration mode
|
||||
[[TraceId: ]2025-07-05 12:27:07.434] [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data Redis repositories in DEFAULT mode.
|
||||
[[TraceId: ]2025-07-05 12:27:07.445] [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 2 ms. Found 0 Redis repository interfaces.
|
||||
[[TraceId: ]2025-07-05 12:27:07.495] [main] WARN o.m.s.mapper.ClassPathMapperScanner : No MyBatis mapper was found in '[org.leocoder.thin.web]' package. Please check your configuration.
|
||||
[[TraceId: ]2025-07-05 12:27:07.676] [main] WARN o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker : Bean 'cn.dev33.satoken.aop.SaAopPointcutAdvisorBeanRegister' of type [cn.dev33.satoken.aop.SaAopPointcutAdvisorBeanRegister$$SpringCGLIB$$0] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying). Is this bean getting eagerly injected/applied to a currently created BeanPostProcessor [meterRegistryPostProcessor]? Check the corresponding BeanPostProcessor declaration and its dependencies/advisors. If this bean does not have to be post-processed, declare it with ROLE_INFRASTRUCTURE.
|
||||
[[TraceId: ]2025-07-05 12:27:07.685] [main] WARN o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker : Bean 'saAroundAnnotationHandlePointcutAdvisor' of type [cn.dev33.satoken.aop.SaAroundAnnotationPointcutAdvisor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying). Is this bean getting eagerly injected/applied to a currently created BeanPostProcessor [meterRegistryPostProcessor]? Check the corresponding BeanPostProcessor declaration and its dependencies/advisors. If this bean does not have to be post-processed, declare it with ROLE_INFRASTRUCTURE.
|
||||
[[TraceId: ]2025-07-05 12:27:07.925] [main] INFO o.s.b.w.e.tomcat.TomcatWebServer : Tomcat initialized with port 18099 (http)
|
||||
[[TraceId: ]2025-07-05 12:27:07.935] [main] INFO o.a.coyote.http11.Http11NioProtocol : Initializing ProtocolHandler ["http-nio-18099"]
|
||||
[[TraceId: ]2025-07-05 12:27:07.936] [main] INFO o.a.catalina.core.StandardService : Starting service [Tomcat]
|
||||
[[TraceId: ]2025-07-05 12:27:07.937] [main] INFO o.a.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.41]
|
||||
[[TraceId: ]2025-07-05 12:27:07.969] [main] INFO o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext
|
||||
[[TraceId: ]2025-07-05 12:27:07.970] [main] INFO o.s.b.w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 1057 ms
|
||||
[[TraceId: ]2025-07-05 12:27:08.525] [main] INFO c.b.d.d.DynamicRoutingDataSource : dynamic-datasource detect P6SPY plugin and enabled it
|
||||
[[TraceId: ]2025-07-05 12:27:08.532] [main] INFO com.zaxxer.hikari.HikariDataSource : master - Starting...
|
||||
[[TraceId: ]2025-07-05 12:27:08.641] [main] INFO com.zaxxer.hikari.pool.HikariPool : master - Added connection com.mysql.cj.jdbc.ConnectionImpl@6a4f7c17
|
||||
[[TraceId: ]2025-07-05 12:27:08.642] [main] INFO com.zaxxer.hikari.HikariDataSource : master - Start completed.
|
||||
[[TraceId: ]2025-07-05 12:27:08.643] [main] INFO c.b.d.d.DynamicRoutingDataSource : dynamic-datasource - add a datasource named [slave] success
|
||||
[[TraceId: ]2025-07-05 12:27:08.643] [main] INFO c.b.d.d.DynamicRoutingDataSource : dynamic-datasource - add a datasource named [master] success
|
||||
[[TraceId: ]2025-07-05 12:27:08.644] [main] INFO c.b.d.d.DynamicRoutingDataSource : dynamic-datasource initial loaded [2] datasource,primary datasource named [master]
|
||||
[[TraceId: ]2025-07-05 12:27:08.713] [main] INFO c.b.m.e.s.MybatisPlusApplicationContextAware : Register ApplicationContext instances org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@4c432866
|
||||
[[TraceId: ]2025-07-05 12:27:09.079] [main] INFO o.s.b.a.e.web.EndpointLinksResolver : Exposing 1 endpoint beneath base path '/actuator'
|
||||
[[TraceId: ]2025-07-05 12:27:09.128] [main] INFO o.a.coyote.http11.Http11NioProtocol : Starting ProtocolHandler ["http-nio-18099"]
|
||||
[[TraceId: ]2025-07-05 12:27:09.145] [main] INFO o.s.b.w.e.tomcat.TomcatWebServer : Tomcat started on port 18099 (http) with context path '/'
|
||||
[[TraceId: ]2025-07-05 12:27:09.160] [main] INFO o.leocoder.thin.web.CoderApplication : Started CoderApplication in 2.62 seconds (process running for 3.133)
|
||||
[[TraceId: ]2025-07-05 12:27:09.164] [main] INFO o.leocoder.thin.web.CoderApplication :
|
||||
Coder-Admin管理平台starter =>ヽ(✿゚▽゚)ノ
|
||||
超级无敌宇宙最强最帅最可爱系统启动成功(๑‾ ꇴ ‾๑)
|
||||
____ __. .__ _____ ________ _____ .___ _______
|
||||
| |/ _|____ |__| / _ \ \______ \ / \ | |\ \
|
||||
| < / _ \| | ______ / /_\ \ | | \ / \ / \| |/ | \
|
||||
| | ( <_> ) | /_____/ / | \| ` \/ Y \ / | \
|
||||
|____|__ \____/|__| \____|__ /_______ /\____|__ /___\____|__ /
|
||||
\/ \/ \/ \/ \/
|
||||
CoderApplication[18088] => 闪亮登场(๑•̀ㅂ•́) ✧
|
||||
[[TraceId: ]2025-07-05 12:27:09.600] [RMI TCP Connection(1)-192.168.86.9] INFO o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet'
|
||||
[[TraceId: ]2025-07-05 12:27:09.600] [RMI TCP Connection(1)-192.168.86.9] INFO o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet'
|
||||
[[TraceId: ]2025-07-05 12:27:09.601] [RMI TCP Connection(1)-192.168.86.9] INFO o.s.web.servlet.DispatcherServlet : Completed initialization in 1 ms
|
||||
273
pom.xml
Normal file
273
pom.xml
Normal file
@ -0,0 +1,273 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<groupId>org.leocoder.thin</groupId>
|
||||
<artifactId>coder-common-thin-backend</artifactId>
|
||||
<version>${revision}</version>
|
||||
|
||||
|
||||
<!-- 父工程标识 -->
|
||||
<name>coder-common-thin-backend</name>
|
||||
<packaging>pom</packaging>
|
||||
<description>父模块</description>
|
||||
<modules>
|
||||
<module>coder-common-thin-web</module>
|
||||
<module>coder-common-thin-mybatisplus</module>
|
||||
<module>coder-common-thin-modules</module>
|
||||
<module>coder-common-thin-plugins</module>
|
||||
<module>coder-common-thin-model</module>
|
||||
<module>coder-common-thin-common</module>
|
||||
</modules>
|
||||
|
||||
<!-- 打包执行 clean + package -->
|
||||
<properties>
|
||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
|
||||
<maven.compiler.source>17</maven.compiler.source>
|
||||
<maven.compiler.target>17</maven.compiler.target>
|
||||
<revision>1.0.0</revision>
|
||||
<java.version>17</java.version>
|
||||
<springboot.version>3.5.0</springboot.version>
|
||||
<lombok.version>1.18.38</lombok.version>
|
||||
<mysql.version>9.3.0</mysql.version>
|
||||
<mybatis.version>3.0.4</mybatis.version>
|
||||
<mybatisplus.version>3.5.12</mybatisplus.version>
|
||||
<p6spy.version>3.9.1</p6spy.version>
|
||||
<dynamic.version>4.3.1</dynamic.version>
|
||||
<satoken.version>1.43.0</satoken.version>
|
||||
<hutool.version>5.8.38</hutool.version>
|
||||
<fastjson2.version>2.0.57</fastjson2.version>
|
||||
<lang3.version>3.17.0</lang3.version>
|
||||
<oshi.version>6.8.1</oshi.version>
|
||||
<guava.version>33.4.8-jre</guava.version>
|
||||
<ip2region.version>3.4.5</ip2region.version>
|
||||
<easyexcel.version>4.0.3</easyexcel.version>
|
||||
<UserAgentUtils.version>1.21</UserAgentUtils.version>
|
||||
<pool2.version>2.12.1</pool2.version>
|
||||
<validator.version>9.0.0.Final</validator.version>
|
||||
<jodaTime.version>2.14.0</jodaTime.version>
|
||||
<captcha.version>1.6.2</captcha.version>
|
||||
<freemarker.version>2.3.34</freemarker.version>
|
||||
|
||||
<!-- 插件版本 -->
|
||||
<maven-compiler-plugin.verison>3.14.0</maven-compiler-plugin.verison>
|
||||
<maven-resources-plugin.version>3.3.1</maven-resources-plugin.version>
|
||||
</properties>
|
||||
|
||||
<dependencyManagement>
|
||||
<dependencies>
|
||||
<!-- Springframework -->
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-dependencies</artifactId>
|
||||
<version>${springboot.version}</version>
|
||||
<scope>import</scope>
|
||||
<type>pom</type>
|
||||
</dependency>
|
||||
<!-- Lombok -->
|
||||
<dependency>
|
||||
<groupId>org.projectlombok</groupId>
|
||||
<artifactId>lombok</artifactId>
|
||||
<version>${lombok.version}</version>
|
||||
</dependency>
|
||||
<!-- MySQL -->
|
||||
<dependency>
|
||||
<groupId>com.mysql</groupId>
|
||||
<artifactId>mysql-connector-j</artifactId>
|
||||
<version>${mysql.version}</version>
|
||||
</dependency>
|
||||
<!-- MyBatis -->
|
||||
<dependency>
|
||||
<groupId>org.mybatis</groupId>
|
||||
<artifactId>mybatis-spring</artifactId>
|
||||
<version>${mybatis.version}</version>
|
||||
</dependency>
|
||||
<!-- MyBatisPlus -->
|
||||
<dependency>
|
||||
<groupId>com.baomidou</groupId>
|
||||
<artifactId>mybatis-plus-spring-boot3-starter</artifactId>
|
||||
<version>${mybatisplus.version}</version>
|
||||
</dependency>
|
||||
<!-- MyBatisPlus PaginationInnerInterceptor分离插件 -->
|
||||
<dependency>
|
||||
<groupId>com.baomidou</groupId>
|
||||
<artifactId>mybatis-plus-jsqlparser</artifactId>
|
||||
<version>${mybatisplus.version}</version>
|
||||
</dependency>
|
||||
<!-- P6spy SQL打印 -->
|
||||
<dependency>
|
||||
<groupId>p6spy</groupId>
|
||||
<artifactId>p6spy</artifactId>
|
||||
<version>${p6spy.version}</version>
|
||||
</dependency>
|
||||
<!-- 动态数据源 -->
|
||||
<dependency>
|
||||
<groupId>com.baomidou</groupId>
|
||||
<artifactId>dynamic-datasource-spring-boot3-starter</artifactId>
|
||||
<version>${dynamic.version}</version>
|
||||
</dependency>
|
||||
<!-- hutool工具类 -->
|
||||
<dependency>
|
||||
<groupId>cn.hutool</groupId>
|
||||
<artifactId>hutool-all</artifactId>
|
||||
<version>${hutool.version}</version>
|
||||
</dependency>
|
||||
<!-- 阿里JSON解析Fastjson,AddressUtil、Xss等工具类使用 -->
|
||||
<dependency>
|
||||
<groupId>com.alibaba.fastjson2</groupId>
|
||||
<artifactId>fastjson2</artifactId>
|
||||
<version>${fastjson2.version}</version>
|
||||
</dependency>
|
||||
<!-- 判断是否为空工具类 -->
|
||||
<!-- StringUtils.isNotBlank()[true] 和 StringUtils.isBlank()[true] -->
|
||||
<dependency>
|
||||
<groupId>org.apache.commons</groupId>
|
||||
<artifactId>commons-lang3</artifactId>
|
||||
<version>${lang3.version}</version>
|
||||
</dependency>
|
||||
<!-- 参数校验 @NotNull等 -->
|
||||
<dependency>
|
||||
<groupId>org.hibernate.validator</groupId>
|
||||
<artifactId>hibernate-validator</artifactId>
|
||||
<version>${validator.version}</version>
|
||||
</dependency>
|
||||
<!-- IpUtils工具类使用,joda-time日期工具类,日期处理,可以做到日期的相加和减的功能, coderLogAspect日志切面用到这个 -->
|
||||
<dependency>
|
||||
<groupId>joda-time</groupId>
|
||||
<artifactId>joda-time</artifactId>
|
||||
<version>${jodaTime.version}</version>
|
||||
</dependency>
|
||||
<!-- 解析客户端操作系统、浏览器等 -->
|
||||
<dependency>
|
||||
<groupId>eu.bitwalker</groupId>
|
||||
<artifactId>UserAgentUtils</artifactId>
|
||||
<version>${UserAgentUtils.version}</version>
|
||||
</dependency>
|
||||
<!-- 获取服务器信息 -->
|
||||
<!-- oshi-core插件是开源的获取系统信息的工具,通过该工具可以方便的帮助我们获取丰富的系统信息,包括:操作系统信息、服务器信息、JVM信息、磁盘信息等等。-->
|
||||
<dependency>
|
||||
<groupId>com.github.oshi</groupId>
|
||||
<artifactId>oshi-core</artifactId>
|
||||
<version>${oshi.version}</version>
|
||||
</dependency>
|
||||
<!-- Google Guava工具类,内涵StringUtils新增方法等 -->
|
||||
<!-- Guava含有令牌桶和漏桶,但是没有客户端IP这些维度 -->
|
||||
<dependency>
|
||||
<groupId>com.google.guava</groupId>
|
||||
<artifactId>guava</artifactId>
|
||||
<version>${guava.version}</version>
|
||||
</dependency>
|
||||
<!-- 根据Ip获取地理位置 -->
|
||||
<dependency>
|
||||
<groupId>net.dreamlu</groupId>
|
||||
<artifactId>mica-ip2region</artifactId>
|
||||
<version>${ip2region.version}</version>
|
||||
</dependency>
|
||||
<!-- Easyexcel -->
|
||||
<dependency>
|
||||
<groupId>com.alibaba</groupId>
|
||||
<artifactId>easyexcel</artifactId>
|
||||
<version>${easyexcel.version}</version>
|
||||
</dependency>
|
||||
<!-- Sa-Token 权限认证 starter -->
|
||||
<dependency>
|
||||
<groupId>cn.dev33</groupId>
|
||||
<artifactId>sa-token-spring-boot3-starter</artifactId>
|
||||
<version>${satoken.version}</version>
|
||||
</dependency>
|
||||
<!-- Sa-Token 整合 Redis (使用 jackson 序列化方式) -->
|
||||
<dependency>
|
||||
<groupId>cn.dev33</groupId>
|
||||
<artifactId>sa-token-redis-jackson</artifactId>
|
||||
<version>${satoken.version}</version>
|
||||
</dependency>
|
||||
<!-- 注意:无论使用哪种序列化方式,你都必须为项目提供一个 Redis 实例化方案 -->
|
||||
<!-- 提供Redis连接池 -->
|
||||
<dependency>
|
||||
<groupId>org.apache.commons</groupId>
|
||||
<artifactId>commons-pool2</artifactId>
|
||||
<version>${pool2.version}</version>
|
||||
</dependency>
|
||||
<!-- Sa-Token 整合 SpringAOP 实现注解鉴权 -->
|
||||
<dependency>
|
||||
<groupId>cn.dev33</groupId>
|
||||
<artifactId>sa-token-spring-aop</artifactId>
|
||||
<version>${satoken.version}</version>
|
||||
</dependency>
|
||||
<!-- 验证码-->
|
||||
<dependency>
|
||||
<groupId>com.github.whvcse</groupId>
|
||||
<artifactId>easy-captcha</artifactId>
|
||||
<version>${captcha.version}</version>
|
||||
</dependency>
|
||||
<!-- Freemarker -->
|
||||
<dependency>
|
||||
<groupId>org.freemarker</groupId>
|
||||
<artifactId>freemarker</artifactId>
|
||||
<version>${freemarker.version}</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</dependencyManagement>
|
||||
|
||||
|
||||
<build>
|
||||
<!-- 统一插件管理 -->
|
||||
<pluginManagement>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-maven-plugin</artifactId>
|
||||
<version>${springboot.version}</version>
|
||||
<configuration>
|
||||
<excludes>
|
||||
<exclude>
|
||||
<groupId>org.projectlombok</groupId>
|
||||
<artifactId>lombok</artifactId>
|
||||
</exclude>
|
||||
</excludes>
|
||||
</configuration>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-compiler-plugin</artifactId>
|
||||
<version>${maven-compiler-plugin.verison}</version>
|
||||
<configuration>
|
||||
<parameters>true</parameters>
|
||||
<source>${java.version}</source>
|
||||
<target>${java.version}</target>
|
||||
<annotationProcessorPaths>
|
||||
<path>
|
||||
<groupId>org.projectlombok</groupId>
|
||||
<artifactId>lombok</artifactId>
|
||||
<version>${lombok.version}</version>
|
||||
</path>
|
||||
</annotationProcessorPaths>
|
||||
</configuration>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-resources-plugin</artifactId>
|
||||
<version>${maven-resources-plugin.version}</version>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</pluginManagement>
|
||||
<resources>
|
||||
<resource>
|
||||
<directory>src/main/java</directory>
|
||||
<includes>
|
||||
<include>**/*.xml</include>
|
||||
</includes>
|
||||
</resource>
|
||||
<resource>
|
||||
<directory>src/main/resources</directory>
|
||||
<includes>
|
||||
<include>**/*</include>
|
||||
</includes>
|
||||
</resource>
|
||||
</resources>
|
||||
</build>
|
||||
|
||||
</project>
|
||||
Loading…
Reference in New Issue
Block a user