diff --git a/pom.xml b/pom.xml
index 6ed663a..f6a0c10 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1,164 +1,207 @@
-
4.0.0
+
+
org.springframework.boot
spring-boot-starter-parent
3.5.0
+
asia.yulinling
workflow
0.0.1-SNAPSHOT
workflow
Demo project for Spring Boot
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
17
- 0.9.1
+ 0.11.5
+ 3.0.5
+ 8.3.0
+ 3.5.12
+ 5.8.38
+ 1.2.25
+
+
+
+
org.springframework.boot
spring-boot-starter
-
- com.github.ulisesbocchio
- jasypt-spring-boot-starter
- 3.0.5
-
-
- org.springframework.boot
- spring-boot-starter-mail
-
-
- org.springframework.boot
- spring-boot-starter-aop
-
-
- com.mysql
- mysql-connector-j
- 8.3.0
-
-
- org.springframework.boot
- spring-boot-starter-thymeleaf
-
+
+
org.springframework.boot
spring-boot-starter-web
+
+
+
+ org.springframework.boot
+ spring-boot-starter-security
+
+
+
+
+ com.mysql
+ mysql-connector-j
+ ${mysql.version}
+
+
+
+
+ com.alibaba
+ druid
+ ${druid-version}
+
+
+
+
+ com.baomidou
+ mybatis-plus-spring-boot3-starter
+ ${mybatis-plus.version}
+
+
+ com.baomidou
+ mybatis-plus-jsqlparser
+ ${mybatis-plus.version}
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-data-redis
+
+
+ org.apache.commons
+ commons-pool2
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-mail
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-thymeleaf
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-aop
+
+
+
cn.hutool
hutool-all
- 5.8.38
-
-
- com.sun.mail
- jakarta.mail
- 2.0.1
-
-
- org.springframework.boot
- spring-boot-devtools
- runtime
- true
+ ${hutool.version}
+
+
org.projectlombok
lombok
true
+
+
- com.baomidou
- mybatis-plus-spring-boot3-starter
- 3.5.12
+ com.github.ulisesbocchio
+ jasypt-spring-boot-starter
+ ${jasypt.version}
+
+
+
+
+ io.jsonwebtoken
+ jjwt-api
+ ${jjwt.version}
- com.baomidou
- mybatis-plus-boot-starter-test
- 3.5.12
+ io.jsonwebtoken
+ jjwt-impl
+ ${jjwt.version}
+ runtime
- com.baomidou
- mybatis-plus-jsqlparser
- 3.5.12
+ io.jsonwebtoken
+ jjwt-jackson
+ ${jjwt.version}
+ runtime
+
+
org.springframework.boot
spring-boot-starter-test
test
- junit
- junit
+ org.junit.jupiter
+ junit-jupiter
test
-
- org.springframework.boot
- spring-boot-starter-security
-
-
-
- io.jsonwebtoken
- jjwt-api
- 0.11.5
-
-
- io.jsonwebtoken
- jjwt-impl
- 0.11.5
-
-
- io.jsonwebtoken
- jjwt-jackson
- 0.11.5
-
org.mockito
mockito-core
test
+
+ com.baomidou
+ mybatis-plus-boot-starter-test
+ ${mybatis-plus.version}
+ test
+
+
+
+
+ org.springframework.boot
+ spring-boot-devtools
+ runtime
+ true
+
+
+
org.jetbrains
annotations
RELEASE
compile
+
+
- org.springframework.boot
- spring-boot-starter-data-redis
-
-
-
- org.apache.commons
- commons-pool2
-
-
- org.springframework.boot
- spring-boot-starter-validation
+ jakarta.validation
+ jakarta.validation-api
+ 3.0.2
+
+
+
org.apache.maven.plugins
maven-compiler-plugin
+ ${java.version}
+ ${java.version}
org.projectlombok
@@ -167,6 +210,8 @@
+
+
org.springframework.boot
spring-boot-maven-plugin
@@ -179,7 +224,13 @@
+
+
+
+ org.apache.maven.plugins
+ maven-wrapper-plugin
+
-
+
\ No newline at end of file
diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties
index 4d518b6..7674057 100644
--- a/src/main/resources/application.properties
+++ b/src/main/resources/application.properties
@@ -11,14 +11,26 @@ spring.sql.init.continue-on-error=true
spring.sql.init.schema-locations=classpath:db/schema.sql
spring.sql.init.data-locations=classpath:db/data.sql
# 连接池配置
-spring.datasource.hikari.minimum-idle=5
-spring.datasource.hikari.connection-test-query=SELECT 1
-spring.datasource.hikari.maximum-pool-size=20
-spring.datasource.hikari.auto-commit=true
-spring.datasource.hikari.idle-timeout=30000
-spring.datasource.hikari.pool-name=MyAppHikariCP
-spring.datasource.hikari.max-lifetime=300000
-spring.datasource.hikari.connection-timeout=30000
+spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
+spring.datasource.druid.pool.initial-size=5
+spring.datasource.druid.pool.min-idle=5
+spring.datasource.druid.pool.max-active=20
+spring.datasource.druid.pool.max-wait-millis=30000
+spring.datasource.druid.pool.test-while-idle=true
+spring.datasource.druid.pool.test-on-borrow=false
+spring.datasource.druid.pool.test-on-return=false
+spring.datasource.druid.pool.validation-query=SELECT 1
+spring.datasource.druid.pool.time-between-eviction-runs-millis=60000
+spring.datasource.druid.pool.min-evictable-idle-time-millis=300000
+#spring.datasource.hikari.minimum-idle=5
+#spring.datasource.hikari.connection-test-query=SELECT 1
+#spring.datasource.hikari.maximum-pool-size=20
+#spring.datasource.hikari.auto-commit=true
+#spring.datasource.hikari.idle-timeout=30000
+#spring.datasource.hikari.pool-name=MyAppHikariCP
+#spring.datasource.hikari.max-lifetime=300000
+#spring.datasource.hikari.connection-timeout=30000
+#spring.datasource.
# Redis配置
spring.data.redis.host=122.152.201.90
spring.data.redis.port=6379
diff --git a/src/test/java/asia/yulinling/workflow/PasswordTest.java b/src/test/java/asia/yulinling/workflow/PasswordTest.java
index 93e4c23..a6475e6 100644
--- a/src/test/java/asia/yulinling/workflow/PasswordTest.java
+++ b/src/test/java/asia/yulinling/workflow/PasswordTest.java
@@ -1,7 +1,7 @@
package asia.yulinling.workflow;
import org.jasypt.encryption.StringEncryptor;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
/**
diff --git a/src/test/java/asia/yulinling/workflow/WorkFlowMainTests.java b/src/test/java/asia/yulinling/workflow/WorkFlowMainTests.java
index b503a75..b4bf3a2 100644
--- a/src/test/java/asia/yulinling/workflow/WorkFlowMainTests.java
+++ b/src/test/java/asia/yulinling/workflow/WorkFlowMainTests.java
@@ -1,12 +1,12 @@
package asia.yulinling.workflow;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.test.context.junit4.SpringRunner;
+import org.springframework.test.context.junit.jupiter.SpringExtension;
-@RunWith(SpringRunner.class)
+@ExtendWith(SpringExtension.class)
@SpringBootTest
public class WorkFlowMainTests {
diff --git a/src/test/java/asia/yulinling/workflow/mapper/UserMapperTest.java b/src/test/java/asia/yulinling/workflow/mapper/UserMapperTest.java
index 3af8861..263403d 100644
--- a/src/test/java/asia/yulinling/workflow/mapper/UserMapperTest.java
+++ b/src/test/java/asia/yulinling/workflow/mapper/UserMapperTest.java
@@ -7,13 +7,13 @@ import cn.hutool.core.util.IdUtil;
import cn.hutool.crypto.SecureUtil;
import com.baomidou.mybatisplus.test.autoconfigure.MybatisPlusTest;
import lombok.extern.slf4j.Slf4j;
-import org.junit.Assert;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.jdbc.AutoConfigureTestDatabase;
import org.springframework.test.annotation.Rollback;
-import org.springframework.test.context.junit4.SpringRunner;
+import org.springframework.test.context.junit.jupiter.SpringExtension;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
@@ -29,7 +29,7 @@ import static org.springframework.boot.test.autoconfigure.jdbc.AutoConfigureTest
* @since 2025/6/4
*/
@MybatisPlusTest
-@RunWith(SpringRunner.class)
+@ExtendWith(SpringExtension.class)
@AutoConfigureTestDatabase(replace = NONE)
@Slf4j
public class UserMapperTest {
@@ -39,7 +39,7 @@ public class UserMapperTest {
@Test
public void selectAllUser2() {
List users = userMapper.selectList(null);
- Assert.assertTrue(CollUtil.isNotEmpty(users));
+ Assertions.assertTrue(CollUtil.isNotEmpty(users));
log.info("users={}", users);
}
@@ -47,7 +47,7 @@ public class UserMapperTest {
public void selectUserById() {
// User user = userMapper.selectUserById(1L);
User user = userMapper.selectById(1);
- Assert.assertNotNull(user);
+ Assertions.assertNotNull(user);
log.info("user={}", user);
}
@@ -69,7 +69,7 @@ public class UserMapperTest {
// int i = userMapper.saveUser(user);
int i = userMapper.insert(user);
- Assert.assertEquals(1, i);
+ Assertions.assertEquals(1, i);
}
@Test
@@ -78,6 +78,6 @@ public class UserMapperTest {
public void deleteById() {
// int i = userMapper.deleteById(1L);
int i = userMapper.deleteById(1);
- Assert.assertEquals(1, i);
+ Assertions.assertEquals(1, i);
}
}
diff --git a/src/test/java/asia/yulinling/workflow/service/EmailServiceTest.java b/src/test/java/asia/yulinling/workflow/service/EmailServiceTest.java
index 7c9c1f7..ad9149f 100644
--- a/src/test/java/asia/yulinling/workflow/service/EmailServiceTest.java
+++ b/src/test/java/asia/yulinling/workflow/service/EmailServiceTest.java
@@ -3,11 +3,11 @@ package asia.yulinling.workflow.service;
import asia.yulinling.workflow.WorkFlowMainTests;
import cn.hutool.core.io.resource.ResourceUtil;
import jakarta.mail.MessagingException;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationContext;
-import org.thymeleaf.context.Context;
import org.thymeleaf.TemplateEngine;
+import org.thymeleaf.context.Context;
import org.thymeleaf.spring6.templateresolver.SpringResourceTemplateResolver;
import java.net.URL;
diff --git a/src/test/java/asia/yulinling/workflow/service/UserServiceTest.java b/src/test/java/asia/yulinling/workflow/service/UserServiceTest.java
index ac88ad5..5df81f9 100644
--- a/src/test/java/asia/yulinling/workflow/service/UserServiceTest.java
+++ b/src/test/java/asia/yulinling/workflow/service/UserServiceTest.java
@@ -2,11 +2,11 @@ package asia.yulinling.workflow.service;
import asia.yulinling.workflow.WorkFlowMainTests;
import asia.yulinling.workflow.dto.request.PageParam;
-import asia.yulinling.workflow.model.ApiResponse;
import asia.yulinling.workflow.dto.response.PageResult;
+import asia.yulinling.workflow.model.ApiResponse;
import asia.yulinling.workflow.model.vo.user.UserVO;
-import org.junit.Assert;
-import org.junit.Test;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
/**
@@ -24,7 +24,7 @@ public class UserServiceTest extends WorkFlowMainTests {
@Test
public void getUserList() {
ApiResponse> users = userService.getUserList();
- Assert.assertEquals(200, users.getCode().intValue());
+ Assertions.assertEquals(200, users.getCode().intValue());
}
@Test
@@ -32,6 +32,6 @@ public class UserServiceTest extends WorkFlowMainTests {
PageParam pageParam = new PageParam();
ApiResponse> users = userService.getUserListByPage(pageParam);
- Assert.assertEquals(200, users.getCode().intValue());
+ Assertions.assertEquals(200, users.getCode().intValue());
}
}
diff --git a/src/test/java/asia/yulinling/workflow/utils/JwtUtilTest.java b/src/test/java/asia/yulinling/workflow/utils/JwtUtilTest.java
index f4ac805..f94e5f5 100644
--- a/src/test/java/asia/yulinling/workflow/utils/JwtUtilTest.java
+++ b/src/test/java/asia/yulinling/workflow/utils/JwtUtilTest.java
@@ -1,8 +1,8 @@
package asia.yulinling.workflow.utils;
import io.jsonwebtoken.Claims;
-import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
import org.mockito.Mockito;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.data.redis.core.ValueOperations;
diff --git a/src/test/java/asia/yulinling/workflow/utils/RedisTest.java b/src/test/java/asia/yulinling/workflow/utils/RedisTest.java
index 9a33865..e4e061c 100644
--- a/src/test/java/asia/yulinling/workflow/utils/RedisTest.java
+++ b/src/test/java/asia/yulinling/workflow/utils/RedisTest.java
@@ -3,7 +3,7 @@ package asia.yulinling.workflow.utils;
import asia.yulinling.workflow.WorkFlowMainTests;
import io.jsonwebtoken.Claims;
import lombok.extern.slf4j.Slf4j;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.core.StringRedisTemplate;