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

Java?Lombok實(shí)現(xiàn)手機(jī)號(hào)碼校驗(yàn)的示例代碼

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

手機(jī)號(hào)碼校驗(yàn)通常是系統(tǒng)開(kāi)發(fā)中最基礎(chǔ)的功能之一。在本文中,我們將會(huì)使用Java Lombok框架實(shí)現(xiàn)一個(gè)簡(jiǎn)單的手機(jī)號(hào)碼校驗(yàn)功能。Java Lombok是一個(gè)開(kāi)源的Java庫(kù),用于自動(dòng)化生成Java類的代碼,它可以大大減少Java類的冗余代碼,提高程序員的開(kāi)發(fā)效率。

一、添加Lombok依賴

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

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

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

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

二、實(shí)體類中添加Lombok注解

在實(shí)體類中添加下面的Lombok注解:

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

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

同時(shí),在mobilePhone字段上,我們使用了@Pattern注解進(jìn)行手機(jī)號(hào)碼格式的校驗(yàn)。

三、使用實(shí)體類進(jìn)行手機(jī)號(hào)碼校驗(yàn)

我們可以使用以下代碼對(duì)自定義的User類的mobilePhone字段進(jìn)行校驗(yàn):

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進(jìn)行手機(jī)號(hào)碼校驗(yàn)。使用這個(gè)API需要引入以下依賴:

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

在isValid方法中,我們首先創(chuàng)建了一個(gè)Validator對(duì)象,然后調(diào)用它的validate方法對(duì)傳入的User對(duì)象進(jìn)行校驗(yàn)。如果校驗(yàn)結(jié)果中沒(méi)有錯(cuò)誤信息,我們就返回true,否則返回false。

四、使用JUnit對(duì)手機(jī)號(hào)碼校驗(yàn)進(jìn)行單元測(cè)試

以下是一個(gè)簡(jiǎn)單的JUnit測(cè)試類,在測(cè)試方法中,我們通過(guò)構(gòu)建一個(gè)User對(duì)象并將其mobilePhone字段設(shè)置為不合法的值時(shí),來(lái)檢查是否能捕獲到校驗(yàn)錯(cuò)誤:

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 = "請(qǐng)輸入正確的手機(jī)號(hào)碼")
    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));
    }
}

六、總結(jié)

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

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

相關(guān)文章

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

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

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

    Java實(shí)現(xiàn)生成自定義時(shí)長(zhǎng)的靜音音頻

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

    Tomcat安裝配置及Eclipse配置詳解

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

    springboot責(zé)任鏈模式實(shí)現(xiàn)多級(jí)校驗(yàn)

    責(zé)任鏈模式是將鏈中的每一個(gè)節(jié)點(diǎn)看作是一個(gè)對(duì)象,每個(gè)節(jié)點(diǎn)處理的請(qǐng)求不同,且內(nèi)部自動(dòng)維護(hù)一個(gè)下一節(jié)點(diǎn)對(duì)象,下面我們來(lái)聊聊springboot如何利用責(zé)任鏈模式實(shí)現(xiàn)多級(jí)校驗(yàn)吧
    2024-11-11
  • Java正確實(shí)現(xiàn)一個(gè)單例設(shè)計(jì)模式的示例

    Java正確實(shí)現(xiàn)一個(gè)單例設(shè)計(jì)模式的示例

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

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

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

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

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

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

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

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

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

    解決SpringMVC、tomcat、Intellij idea、ajax中文亂碼問(wèn)題

    這篇文章主要介紹了解決SpringMVC、tomcat、Intellij idea、ajax中文亂碼問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-09-09

最新評(píng)論