最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

如何解決Spring in action @valid驗證不生效的問題

 更新時間:2021年06月09日 16:14:44   作者:codexjli  
這篇文章主要介紹了如何解決Spring in action @valid驗證不生效的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

解決Spring in action @valid驗證不生效

按照書上的示例代碼來實現(xiàn)但是,添加了驗證但是沒有生效。

Spring提供了校驗Api是使用但是沒有提供實現(xiàn),所以需要自己導(dǎo)入實現(xiàn)包。

所以導(dǎo)入實現(xiàn)包:

<dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-validator</artifactId>
            <version>5.1.1.Final</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/javax.validation/validation-api -->
        <dependency>
            <groupId>javax.validation</groupId>
            <artifactId>validation-api</artifactId>
            <version>1.1.0.Final</version>
        </dependency>

但是還是沒有解決問題,程序正常運行,校驗不生效。

想到之前用Maven來導(dǎo)入一些jar報的時候,還是會提示找不到(不知道是不是因為使用的Xampp自帶的tomcat的原因)。之前的解決辦法就是把Jar包丟到Tomcat的lib文件夾下。

于是就把上面Maven下載下來的兩個jar包丟了進去,果然發(fā)生了一些變化,這次出現(xiàn)了報錯,程序不能正常運行。

報錯:

Hibernate Validator java.lang.NoClassDefFoundError: Could not initialize class org.hibernate.validator.internal.engine.ConfigurationImpl

然后查找解決辦法,在Stack Overflow上找到了解決辦法,缺少org.jboss.logging和com.fasterxml classmate包,所以在Maven中加入

  <dependency>
    <groupId>org.jboss.logging</groupId>
      <artifactId>jboss-logging</artifactId>
      <version>3.3.2.Final</version>
  </dependency>
  <dependency>
      <groupId>com.fasterxml</groupId>
      <artifactId>classmate</artifactId>
      <version>1.3.4</version>
  </dependency>

但是還是沒有解決問題,使用老辦法,把這兩個Jar包丟到Tomcat的lib文件夾下,問題解決。

最近遇到好多Maven導(dǎo)入的包在運行的時候不生效的問題,就是不報錯,但是運行的時候nodefClass錯誤。

找到解決辦法:解決idea導(dǎo)入maven項目缺少jar包的問題方法

springboot @Validate不生效的原因

使用validate相關(guān)注解卻沒用生效的問題

public class LoginRequest implements Serializable {
    private static final long serialVersionUID = 1L;
    @ApiModelProperty(value = "手機號", required = true, example = "18888888")
    @Pattern(regexp = RegularConstants.PHONE, message = "手機號碼格式錯誤")
    @JsonProperty(value = "phone")
    private String phone;
    @ApiModelProperty(value = "密碼", required = true, example = "1~[6,18]")
    @Pattern(regexp = RegularConstants.PASSWORD, message = "密碼格式錯誤,密碼必須以字母開頭,長度在6~18之間,只能包含字符、數(shù)字和下劃線")
    private String password;
}

解決思路

引入hibernate相關(guān)依賴

       <dependency>
            <groupId>org.hibernate.validator</groupId>
            <artifactId>hibernate-validator</artifactId>
            <version>6.0.21.Final</version>
        </dependency>
        <dependency>
            <groupId>javax.el</groupId>
            <artifactId>javax.el-api</artifactId>
            <version>3.0.0</version>
        </dependency>

相關(guān)配置

@Configuration
public class ValidatorConfiguration {
    @Bean
    public Validator validator() {
        ValidatorFactory validatorFactory = Validation.byProvider(HibernateValidator.class)
                .configure()
                .addProperty("hibernate.validator.fail_fast", "true")
                .buildValidatorFactory();
        return validatorFactory.getValidator();
    }
}

全局攔截驗證錯誤

@RestControllerAdvice
public class WebGlobalExceptionHandler {
//    private static final Logger logger = LoggerFactory.getLogger(GlobalExceptionHandler.class);
    /**
     * 攔截JSON參數(shù)校驗
     */
//    @ResponseStatus(HttpStatus.OK)
    @ExceptionHandler(MethodArgumentNotValidException.class)
    public CommonResult bindException(MethodArgumentNotValidException e) {
        BindingResult bindingResult = e.getBindingResult();
        return CommonResult.failed(ExceptionCodeEnum.VALIDATE_FAILED,Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
    }
}

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Spring Boot實戰(zhàn)之靜態(tài)資源處理

    Spring Boot實戰(zhàn)之靜態(tài)資源處理

    這篇文章主要介紹了Spring Boot實戰(zhàn)之靜態(tài)資源處理,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-01-01
  • Java線程通信及線程虛假喚醒知識總結(jié)

    Java線程通信及線程虛假喚醒知識總結(jié)

    今天給大家?guī)淼氖顷P(guān)于Java線程的相關(guān)知識,文章圍繞著Java線程通信及線程虛假喚醒的知識展開,文中有非常詳細的介紹及代碼示例,需要的朋友可以參考下
    2021-06-06
  • 一文帶你了解SpringBoot中啟動參數(shù)的各種用法

    一文帶你了解SpringBoot中啟動參數(shù)的各種用法

    在使用 Spring Boot開發(fā)應(yīng)用時,我們通常需要根據(jù)不同的環(huán)境或特定需求調(diào)整啟動參數(shù),那么,Spring Boot 提供了哪些方式來配置這些啟動參數(shù)呢,下面小編就來和大家介紹一下吧
    2025-03-03
  • SpringBoot中如何解決讀取properties文件讀取問題

    SpringBoot中如何解決讀取properties文件讀取問題

    這篇文章主要介紹了SpringBoot中如何解決讀取properties文件讀取問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • 基于Java ActiveMQ的實例講解

    基于Java ActiveMQ的實例講解

    下面小編就為大家?guī)硪黄贘ava ActiveMQ的實例講解。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-09-09
  • Java吃貨聯(lián)盟訂餐系統(tǒng)代碼實例

    Java吃貨聯(lián)盟訂餐系統(tǒng)代碼實例

    這篇文章主要介紹了Java訂餐系統(tǒng),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • java 發(fā)送http和https請求的實例

    java 發(fā)送http和https請求的實例

    下面小編就為大家分享一篇java 發(fā)送http和https請求的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-01-01
  • springboot?filter配置多個時,執(zhí)行順序問題

    springboot?filter配置多個時,執(zhí)行順序問題

    這篇文章主要介紹了springboot?filter配置多個時,執(zhí)行順序問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • Java計時新姿勢StopWatch詳解

    Java計時新姿勢StopWatch詳解

    這篇文章主要介紹了Java計時新姿勢StopWatch,最近公司來了個大佬,從他那里學(xué)到不少東西,其中一個就是計時的新姿勢「StopWatch」,需要的朋友可以參考下
    2019-07-07
  • Mybatis?Plus?QueryWrapper復(fù)合用法詳解

    Mybatis?Plus?QueryWrapper復(fù)合用法詳解

    這篇文章主要介紹了Mybatis?Plus?QueryWrapper復(fù)合用法詳解,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教。
    2022-01-01

最新評論

双柏县| 静海县| 桂阳县| 临西县| 涟水县| 弥勒县| 宁乡县| 长沙县| 铅山县| 淄博市| 南投市| 泗阳县| 志丹县| 安阳县| 灵寿县| 鄂尔多斯市| 独山县| 田林县| 宁德市| 宣汉县| 三台县| 弋阳县| 英吉沙县| 改则县| 马鞍山市| 博乐市| 平阳县| 依兰县| 白水县| 商都县| 徐汇区| 读书| 虎林市| 剑河县| 太保市| 博罗县| 邻水| 呈贡县| 雅安市| 河北省| 普洱|