国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Springboot3整合使用ja-captcha行為驗證碼解決方案

這篇具有很好參考價值的文章主要介紹了Springboot3整合使用ja-captcha行為驗證碼解決方案。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

截止到目前(2023-04-20),Springboot最新穩(wěn)定版本已經(jīng)迭代到3.0.5,而我們項目中使用的行為驗證碼框架aj-captcha還沒有適配Springboot3,碼云上類似的請求也沒有得到過回應(yīng),于是決定自己動手適配一下,研究下來發(fā)現(xiàn)適配3.x并沒有那么難,這里記錄一下適配過程,希望能幫到他人

Springboot3整合使用ja-captcha行為驗證碼解決方案

首先搭建一個Springboot2的項目,以最簡單的方法整合驗證碼,這里我選擇使用springboot2.7.5aj-captcha1.3.0,在Maven中添加依賴后直接啟動項目即可

<?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.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.7.5</version>
    </parent>
    <groupId>site.hanzhe.boot3.captcha</groupId>
    <artifactId>springboot3-aj-captcha</artifactId>
    <version>0.0.1</version>
    <description>Springboot3整合aj-captcha行為驗證碼解決方案</description>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>com.anji-plus</groupId>
            <artifactId>spring-boot-starter-captcha</artifactId>
            <version>1.3.0</version>
        </dependency>
    </dependencies>

</project>

Springboot3整合使用ja-captcha行為驗證碼解決方案

可以看到已經(jīng)整合成功了,而且調(diào)用接口測試也一切正常,現(xiàn)在將Springboot版本改成3.0.5,然后刷新Maven后重啟一下項目試試看,發(fā)現(xiàn)控制臺已經(jīng)不打印aj-captcha的日志了,而且接口也返回404

Springboot3整合使用ja-captcha行為驗證碼解決方案

在整合之前,我們需要了解一下Springboot3.x的兩個重要的變化

第一個變化是Springboot3以JakartaEE 9為基準(zhǔn)并支持JakartaEE 10,其實Jakarta就是Java,Oracle將JavaEE移交給了Eclipse基金會,并不允許其使用原本的java名稱,所以Java改名為Jakarta,原javax包名也修改為了jakarta

第二個變化是Springboot自動配置文件的變更,Springboot3廢棄了factories的自動配置,改為使用imports文件

了解這兩點后我們回到整合驗證碼的項目中,首先可以觀察到最明顯的一點,啟動項目后控制臺不在打印aj-captcha的日志了,這就代表自動配置并沒有生效,在外部庫中找到aj-captcha的自動配置,發(fā)現(xiàn)它是使用factories進行自動配置的,該方法已經(jīng)失效,我們需要創(chuàng)建新的自動配置文件來啟用它

在resource目錄下新建META-INF/spring兩個目錄,在目錄下添加自動配置文件,并將aj-captcha的自動配置類添加進去然后重啟項目查看效果,文件名太長我就放在代碼塊中了

# 文件名
org.springframework.boot.autoconfigure.AutoConfiguration.imports

# 文件內(nèi)容
com.anji.captcha.config.AjCaptchaAutoConfiguration

Springboot3整合使用ja-captcha行為驗證碼解決方案

可以看到項目啟動報錯了,不過不用擔(dān)心,報錯是好事兒,說明自動配置生效了,提取報錯中的主要信息,是創(chuàng)建captchaController這個Bean的時候報錯了,報錯的原因是沒有找到javax/servlet/http/HttpServletRequest這個類,因為Springboot3中javax的包名統(tǒng)一修改為了jakarta,所以這個類會找不到

這里直接使用替換法簡單粗暴的解決這個問題,找到報錯的這個類,在項目中創(chuàng)建一個相同包名的的類,將里面的javax替換為jakarta,這樣在創(chuàng)建Bean的時候Java找到的類是我們自己的jakarta的類,就不會調(diào)用舊的javax的類了

Springboot3整合使用ja-captcha行為驗證碼解決方案

替換后重啟項目查看效果,可以發(fā)現(xiàn)項目啟動成功,并且控制臺打印了aj-captcha的啟動日志,調(diào)試接口也成功了,整合完成,點擊查看代碼

本文使用笨方法在Springboot3中使用aj-captcha,還是希望作者早日做適配文章來源地址http://www.zghlxwxcb.cn/news/detail-419447.html

到了這里,關(guān)于Springboot3整合使用ja-captcha行為驗證碼解決方案的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • Springboot3 整合 Mybatis3

    mybatis 的必要依賴 注意:使用 springboot3 的話要使用 mybatis3 的版本以及 java17及以上的版本 注意: 如果接口上面有 注解 @Mapper 的話,就可以不用在使用掃描包注解 @MapperScan 了(當(dāng)然兩個可以同時存在) 注意: 最好要加上 @Mapper注解,防止忘記開啟掃描 注意:頭文件這里的網(wǎng)

    2024年01月25日
    瀏覽(22)
  • SpringBoot3 整合Prometheus + Grafana

    SpringBoot3 整合Prometheus + Grafana

    通過Prometheus + Grafana對線上應(yīng)用進行觀測、監(jiān)控、預(yù)警… 健康狀況【組件狀態(tài)、存活狀態(tài)】Health 運行指標(biāo)【cpu、內(nèi)存、垃圾回收、吞吐量、響應(yīng)成功率…】Metrics … 1. 基本使用 1. 場景引入 2. 暴露指標(biāo) 3. 訪問數(shù)據(jù) 訪問 http://localhost:8080/actuator;展示出所有可以用的監(jiān)控端點

    2024年02月14日
    瀏覽(23)
  • Java --- springboot3整合SSM

    目錄 一、整合SSM場景 二、自動配置原理? ?引入pom依賴 數(shù)據(jù)庫表: 配置數(shù)據(jù)源 配置mybatis相關(guān)配置 實體類: mapper接口: mapper接口映射文件: service實現(xiàn)類: controller層: 在springboot啟動類添加注解: jdbc場景的自動配置 :? ?1、 mybatis-spring-boot-starter 導(dǎo)入 spring-boot-starter-jd

    2024年02月08日
    瀏覽(24)
  • SpringBoot整合Mybatis-Plus(SpringBoot3)

    SpringBoot整合Mybatis-Plus(SpringBoot3)

    依賴pom.xml: pom.xml resource包下的Application.yml: Aollication.yml pojo包下的實體類User: User mapper包下的接口UserMapper: UserMapper 主啟動類DemoPlusApplication DemoPlusApplication 測試類DemoApplicationTest: DemoApplicationTest 實現(xiàn)結(jié)果 檢測數(shù)據(jù)庫連接: C(Create): D(Delete): U(Update) R(Read)

    2024年03月20日
    瀏覽(23)
  • SpringBoot3 整合 ElasticSearch7 示例

    SpringBoot3 整合 ElasticSearch7 示例

    做仿牛客項目需要使用 es 做搜索,但是老師示例的是 SpringBoot2 + es6 去做的,然而我用的是 Spring3 + es7.17.10,于是踩了很多的坑。 在 es7 中,配置文件和查詢所需的實現(xiàn)類都做了很大的改動,我以能成功運行的代碼為例,大概說一下怎么配置和使用。 首先 yml 配置文件發(fā)生了變

    2024年02月07日
    瀏覽(29)
  • springboot3.2 整合 mybatis-plus

    springboot3.2 整合 mybatis-plus

    springboot3.2 正式發(fā)布了 迫不及待地的感受了一下 結(jié)果在整個mybatis-plus 的時候遇到了如下報錯 主要是由于 mybatis-plus 中 mybatis 的整合包版本不夠?qū)е碌?排除 mybatis-plus 中自帶的 mybatis 整合包,單獨引入即可 修改依賴后正常

    2024年02月04日
    瀏覽(25)
  • SpringBoot3整合OpenAPI3(Swagger3)

    SpringBoot3整合OpenAPI3(Swagger3)

    swagger2 更新到3后,再使用方法上發(fā)生了很大的變化,名稱也變?yōu)?OpenAPI3 。 官方文檔 openapi3 使用十分方便,做到這里后,你可以直接通過以下網(wǎng)址訪問 swagger 頁面。 1. @OpenAPIDefinition + @Info 用于定義整個 API 的信息,通常放在主應(yīng)用類上??梢园?API 的標(biāo)題、描述、版本等信

    2024年01月22日
    瀏覽(21)
  • SpringBoot3整合SpringSecurity,實現(xiàn)自定義接口權(quán)限過濾

    SpringBoot3整合SpringSecurity,實現(xiàn)自定義接口權(quán)限過濾

    接口權(quán)限過濾是指對于某些接口或功能,系統(tǒng)通過設(shè)定一定的權(quán)限規(guī)則,只允許經(jīng)過身份認證且擁有相應(yīng)權(quán)限的用戶或應(yīng)用程序進行訪問和操作 。這種技術(shù)可以有效地保護系統(tǒng)資源和數(shù)據(jù)安全,防止未授權(quán)的用戶或程序進行惡意操作或非法訪問。通常情況下,接口權(quán)限過濾需

    2024年02月08日
    瀏覽(24)
  • 解決SpringBoot3整合Druid的兼容性問題

    解決SpringBoot3整合Druid的兼容性問題

    本文原創(chuàng)作者:谷哥的小弟 作者博客地址:http://blog.csdn.net/lfdfhl 截止目前,Druid對于SpringBoot3的支持不夠全面和友好;存在一些兼容性的問題,導(dǎo)致項目報錯。 在此,針對該問題提供可行的解決方案;以供各位參考。 請您使用以下依賴: 圖示如下: 請勿使用以下依賴: 請

    2024年02月03日
    瀏覽(13)
  • Springboot3.0整合swagger,廢棄Springfox改用Springdoc

    Springboot3.0整合swagger,廢棄Springfox改用Springdoc

    Automated JSON API documentation for API\\\'s built with Spring 官網(wǎng)地址:springfox.io springdoc-openapi java library helps to automate the generation of API documentation using spring boot projects. 官網(wǎng)地址:https://springdoc.org/v2/ 注意 :使用的是V2版本,這個版本支持springboot3.0 之前springboot3.0之前我用的都是Springfox來集

    2023年04月09日
    瀏覽(23)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包