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 - 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