diff --git a/core/captcha-spring-boot-starter/pom.xml b/core/captcha-spring-boot-starter/pom.xml
index e4390fb8c7fe91094f7e2e1ebf9e094a5e796ee7..255d9b1eb3d399aaf6218dc6f51c2c363a3bd5a6 100644
--- a/core/captcha-spring-boot-starter/pom.xml
+++ b/core/captcha-spring-boot-starter/pom.xml
@@ -7,7 +7,7 @@
org.springframework.boot
spring-boot-starter-parent
- 2.0.4.RELEASE
+ 3.0.6
com.anji-plus
@@ -21,7 +21,7 @@
1.8
- 2.0.4.RELEASE
+ 3.0.6
@@ -83,17 +83,17 @@
org.apache.maven.plugins
maven-compiler-plugin
- 3.3
+ 3.8.1
-
- 1.8
+
+
UTF-8
org.apache.maven.plugins
maven-resources-plugin
- 2.4
+ 3.1.0
UTF-8
@@ -101,7 +101,7 @@
org.apache.maven.plugins
maven-source-plugin
- 2.2.1
+ 3.2.1
attach-sources
@@ -114,7 +114,7 @@
org.apache.maven.plugins
maven-javadoc-plugin
- 2.9.1
+ 3.4.1
attach-javadocs
diff --git a/core/captcha-spring-boot-starter/src/main/java/com/anji/captcha/config/AjCaptchaServiceAutoConfiguration.java b/core/captcha-spring-boot-starter/src/main/java/com/anji/captcha/config/AjCaptchaServiceAutoConfiguration.java
index dfc048b47080e1a0e9c541ccffb280f30d6a01c4..0ca6b6c84a3de593b71227d4ad10361cf9ef5896 100644
--- a/core/captcha-spring-boot-starter/src/main/java/com/anji/captcha/config/AjCaptchaServiceAutoConfiguration.java
+++ b/core/captcha-spring-boot-starter/src/main/java/com/anji/captcha/config/AjCaptchaServiceAutoConfiguration.java
@@ -3,6 +3,7 @@ package com.anji.captcha.config;
import com.anji.captcha.model.common.Const;
import com.anji.captcha.properties.AjCaptchaProperties;
+import com.anji.captcha.service.CaptchaCacheService;
import com.anji.captcha.service.CaptchaService;
import com.anji.captcha.service.impl.CaptchaServiceFactory;
import com.anji.captcha.util.ImageUtils;
@@ -19,6 +20,7 @@ import org.springframework.util.Base64Utils;
import org.springframework.util.FileCopyUtils;
import java.util.HashMap;
+import java.util.List;
import java.util.Map;
import java.util.Properties;
@@ -29,7 +31,7 @@ public class AjCaptchaServiceAutoConfiguration {
@Bean
@ConditionalOnMissingBean
- public CaptchaService captchaService(AjCaptchaProperties prop) {
+ public CaptchaService captchaService(AjCaptchaProperties prop, List captchaCacheServiceList) {
logger.info("自定义配置项:{}", prop.toString());
Properties config = new Properties();
config.put(Const.CAPTCHA_CACHETYPE, prop.getCacheType().name());
@@ -64,7 +66,11 @@ public class AjCaptchaServiceAutoConfiguration {
config.put(Const.CAPTCHA_INIT_ORIGINAL, "true");
initializeBaseMap(prop.getJigsaw(), prop.getPicClick());
}
+ //使springboot可以通过注入bena加载相关CaptchaCacheService
CaptchaService s = CaptchaServiceFactory.getInstance(config);
+ for (CaptchaCacheService captchaCacheService : captchaCacheServiceList) {
+ CaptchaServiceFactory.cacheService.putIfAbsent(captchaCacheService.type(), captchaCacheService);
+ }
return s;
}
diff --git a/core/captcha-spring-boot-starter/src/main/java/com/anji/captcha/controller/CaptchaController.java b/core/captcha-spring-boot-starter/src/main/java/com/anji/captcha/controller/CaptchaController.java
index 468833ecd3091e6dc0807b9040dec3a579f6a4ef..0247904fb0cfdad889be3bceb23a8142fb750d61 100644
--- a/core/captcha-spring-boot-starter/src/main/java/com/anji/captcha/controller/CaptchaController.java
+++ b/core/captcha-spring-boot-starter/src/main/java/com/anji/captcha/controller/CaptchaController.java
@@ -10,13 +10,13 @@ import com.anji.captcha.model.common.ResponseModel;
import com.anji.captcha.model.vo.CaptchaVO;
import com.anji.captcha.service.CaptchaService;
import com.anji.captcha.util.StringUtils;
+import jakarta.servlet.http.HttpServletRequest;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
-import javax.servlet.http.HttpServletRequest;
@RestController
diff --git a/core/captcha-spring-boot-starter/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/core/captcha-spring-boot-starter/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
new file mode 100644
index 0000000000000000000000000000000000000000..4a295be86e25d9c5546ea2d19388f836d9e1a1ba
--- /dev/null
+++ b/core/captcha-spring-boot-starter/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
@@ -0,0 +1 @@
+com.anji.captcha.config.AjCaptchaAutoConfiguration