欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java?Lombok實現(xiàn)手機號碼校驗的示例代碼

 更新時間:2023年07月05日 14:29:14   作者:python100  
手機號碼校驗通常是系統(tǒng)開發(fā)中最基礎的功能之一,本文主要介紹了Java?Lombok實現(xiàn)手機號碼校驗的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

手機號碼校驗通常是系統(tǒng)開發(fā)中最基礎的功能之一。在本文中,我們將會使用Java Lombok框架實現(xiàn)一個簡單的手機號碼校驗功能。Java Lombok是一個開源的Java庫,用于自動化生成Java類的代碼,它可以大大減少Java類的冗余代碼,提高程序員的開發(fā)效率。

一、添加Lombok依賴

首先,在項目的pom.xml文件中添加以下依賴:

<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <scope>provided</scope>
</dependency>

這里我們使用的是Maven構建工具,如果您使用的是Gradle,則需要添加以下依賴:

implementation 'org.projectlombok:lombok:1.18.20'
annotationProcessor 'org.projectlombok:lombok:1.18.20'

二、實體類中添加Lombok注解

在實體類中添加下面的Lombok注解:

import lombok.Data;
import lombok.NonNull;
@Data
public class User {
    @NonNull
    private String name;
    // 添加正則表達式判斷手機號碼格式是否正確
    @Pattern(regexp = "^[1][3,4,5,7,8][0-9]{9}$", message = "請輸入正確的手機號碼")
    private String mobilePhone;
}

在上面的例子中,我們使用了@Data注解,它可以在編譯期間自動為我們生成Java類的基本代碼,如getter、setter和toString。

同時,在mobilePhone字段上,我們使用了@Pattern注解進行手機號碼格式的校驗。

三、使用實體類進行手機號碼校驗

我們可以使用以下代碼對自定義的User類的mobilePhone字段進行校驗:

import javax.validation.ConstraintViolation;
import javax.validation.Validation;
import javax.validation.Validator;
import java.util.Set;
public class UserValidator {
    public boolean isValid(User user) {
        Validator validator = Validation.buildDefaultValidatorFactory().getValidator();
        Set<ConstraintViolation<User>> constraintViolations = validator.validate(user);
        return constraintViolations.isEmpty();
    }
}

在上面的例子中,我們使用了Java Validation API進行手機號碼校驗。使用這個API需要引入以下依賴:

<dependency>
    <groupId>javax.validation</groupId>
    <artifactId>validation-api</artifactId>
    <version>2.0.1.Final</version>
</dependency>

在isValid方法中,我們首先創(chuàng)建了一個Validator對象,然后調用它的validate方法對傳入的User對象進行校驗。如果校驗結果中沒有錯誤信息,我們就返回true,否則返回false。

四、使用JUnit對手機號碼校驗進行單元測試

以下是一個簡單的JUnit測試類,在測試方法中,我們通過構建一個User對象并將其mobilePhone字段設置為不合法的值時,來檢查是否能捕獲到校驗錯誤:

import org.junit.Assert;
import org.junit.Test;
public class UserValidatorTest {
    @Test
    public void testMobilePhoneValidation() {
        User user = new User();
        user.setName("張三");
        user.setMobilePhone("1234567890");
        UserValidator userValidator = new UserValidator();
        Assert.assertFalse(userValidator.isValid(user));
    }
}

五、完整代碼

以下是完整代碼,供參考:

1. User.java

import lombok.Data;
import lombok.NonNull;
import javax.validation.constraints.Pattern;
@Data
public class User {
    @NonNull
    private String name;
    @Pattern(regexp = "^[1][3,4,5,7,8][0-9]{9}$", message = "請輸入正確的手機號碼")
    private String mobilePhone;
}

2. UserValidator.java

import javax.validation.ConstraintViolation;
import javax.validation.Validation;
import javax.validation.Validator;
import java.util.Set;
public class UserValidator {
    public boolean isValid(User user) {
        Validator validator = Validation.buildDefaultValidatorFactory().getValidator();
        Set<ConstraintViolation<User>> constraintViolations = validator.validate(user);
        return constraintViolations.isEmpty();
    }
}

3. UserValidatorTest.java

import org.junit.Assert;
import org.junit.Test;
public class UserValidatorTest {
    @Test
    public void testMobilePhoneValidation() {
        User user = new User();
        user.setName("張三");
        user.setMobilePhone("1234567890");
        UserValidator userValidator = new UserValidator();
        Assert.assertFalse(userValidator.isValid(user));
    }
}

六、總結

在本文中,我們使用了Java Lombok和Java Validation API框架實現(xiàn)了手機號碼校驗功能。Lombok大大減少了Java類的冗余代碼,Validation API則使我們可以輕松地實現(xiàn)校驗功能。

到此這篇關于Java Lombok實現(xiàn)手機號碼校驗的示例代碼的文章就介紹到這了,更多相關Java Lombok手機號碼校驗內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • springboot+VUE前后端分離實現(xiàn)疫情防疫平臺JAVA

    springboot+VUE前后端分離實現(xiàn)疫情防疫平臺JAVA

    本文主要使用了Java、springmvc、VUE、node.js、mybatis、mysql、tomcat、jquery、layui、bootstarp、JavaScript、html、css、jsp、log4j等一些常見的基本技術,實現(xiàn)一個疫情防疫小平臺
    2021-08-08
  • Java實現(xiàn)生成自定義時長的靜音音頻

    Java實現(xiàn)生成自定義時長的靜音音頻

    這篇文章主要介紹了如何通過Java實現(xiàn)一個音頻工具類,可以實現(xiàn)生成一段自定義時長(精確到毫秒)的wav音頻。感興趣的小伙伴可以了解一下
    2022-01-01
  • Tomcat安裝配置及Eclipse配置詳解

    Tomcat安裝配置及Eclipse配置詳解

    給大家介紹一下Tomcat安裝配置及Eclipse配置的全部圖文過程,如果你對這個還有不明白,一起跟著小編學習下。
    2017-11-11
  • springboot責任鏈模式實現(xiàn)多級校驗

    springboot責任鏈模式實現(xiàn)多級校驗

    責任鏈模式是將鏈中的每一個節(jié)點看作是一個對象,每個節(jié)點處理的請求不同,且內部自動維護一個下一節(jié)點對象,下面我們來聊聊springboot如何利用責任鏈模式實現(xiàn)多級校驗吧
    2024-11-11
  • Java正確實現(xiàn)一個單例設計模式的示例

    Java正確實現(xiàn)一個單例設計模式的示例

    今天小編就為大家分享一篇關于Java正確實現(xiàn)一個單例設計模式的示例,小編覺得內容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-01-01
  • Spring?Boot?2.x升3.x的那些事

    Spring?Boot?2.x升3.x的那些事

    最近項目需求,準備從Spring Boot 2.x升級到3.x,升級后發(fā)現(xiàn)編譯器報了一堆錯誤,本文主要介紹了Spring?Boot?2.x升3.x的那些事,具有一定的參考價值,感興趣的可以了解一下
    2024-01-01
  • ArrayList刪除集合中某一屬性相同的元素方法(推薦)

    ArrayList刪除集合中某一屬性相同的元素方法(推薦)

    下面小編就為大家?guī)硪黄狝rrayList刪除集合中某一屬性相同的元素方法(推薦)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-09-09
  • Win10系統(tǒng)下配置java環(huán)境變量的全過程

    Win10系統(tǒng)下配置java環(huán)境變量的全過程

    這篇文章主要給大家介紹了關于Win10系統(tǒng)下配置java環(huán)境變量的相關資料,文中通過圖文介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-11-11
  • java實現(xiàn)JSON字符串格式化輸出

    java實現(xiàn)JSON字符串格式化輸出

    這篇文章主要為大家詳細介紹了如何使用java實現(xiàn)JSON字符串格式化輸出,文中的示例代碼講解詳細,具有一定的借鑒價值,感興趣的小伙伴可以了解下
    2024-01-01
  • 解決SpringMVC、tomcat、Intellij idea、ajax中文亂碼問題

    解決SpringMVC、tomcat、Intellij idea、ajax中文亂碼問題

    這篇文章主要介紹了解決SpringMVC、tomcat、Intellij idea、ajax中文亂碼問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09

最新評論