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

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)開發(fā)中最基礎(chǔ)的功能之一,本文主要介紹了Java?Lombok實(shí)現(xiàn)手機(jī)號(hào)碼校驗(yàn)的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

手機(jī)號(hào)碼校驗(yàn)通常是系統(tǒng)開發(fā)中最基礎(chǔ)的功能之一。在本文中,我們將會(huì)使用Java Lombok框架實(shí)現(xiàn)一個(gè)簡單的手機(jī)號(hào)碼校驗(yàn)功能。Java Lombok是一個(gè)開源的Java庫,用于自動(dòng)化生成Java類的代碼,它可以大大減少Java類的冗余代碼,提高程序員的開發(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é)果中沒有錯(cuò)誤信息,我們就返回true,否則返回false。

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

以下是一個(gè)簡單的JUnit測(cè)試類,在測(cè)試方法中,我們通過構(gòu)建一個(gè)User對(duì)象并將其mobilePhone字段設(shè)置為不合法的值時(shí),來檢查是否能捕獲到校驗(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)文章

  • 構(gòu)建Maven項(xiàng)目時(shí)可能遇到的問題

    構(gòu)建Maven項(xiàng)目時(shí)可能遇到的問題

    本篇是針對(duì)構(gòu)建 Maven 項(xiàng)目時(shí)可能出現(xiàn)的問題進(jìn)行總結(jié),并給出解決方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2026-03-03
  • java天數(shù)計(jì)算函數(shù)(當(dāng)前月天數(shù)、某月總天數(shù)及某月剩余天數(shù))4種方法實(shí)現(xiàn)代碼

    java天數(shù)計(jì)算函數(shù)(當(dāng)前月天數(shù)、某月總天數(shù)及某月剩余天數(shù))4種方法實(shí)現(xiàn)代碼

    日常開發(fā)中會(huì)遇到關(guān)于日期的計(jì)算,比如當(dāng)月的天數(shù)、兩日期之間的天數(shù)、當(dāng)月剩余天數(shù)等等,這篇文章主要給大家介紹了關(guān)于java天數(shù)計(jì)算函數(shù)(當(dāng)前月天數(shù)、某月總天數(shù)及某月剩余天數(shù))4種方法實(shí)現(xiàn)的相關(guān)資料,需要的朋友可以參考下
    2023-10-10
  • java中輸出pdf文件代碼分享

    java中輸出pdf文件代碼分享

    這篇文章主要介紹了java中輸出pdf文件代碼分享,本文直接給出實(shí)現(xiàn)代碼,需要的朋友可以參考下
    2015-03-03
  • SpringBoot項(xiàng)目中多數(shù)據(jù)源配置方法與使用場(chǎng)景

    SpringBoot項(xiàng)目中多數(shù)據(jù)源配置方法與使用場(chǎng)景

    在 Spring Boot 中配置多數(shù)據(jù)源是一個(gè)非常常見的需求,本文將為大家詳細(xì)介紹兩種主流的實(shí)現(xiàn)方式與使用場(chǎng)景,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2025-07-07
  • SpringSecurity7.0新特性詳解

    SpringSecurity7.0新特性詳解

    本文主要介紹了Spring Security 7.0 新特性詳解,文中通過示例代碼介紹的非常詳細(xì),幫助你更好地理解和應(yīng)用這些新特性,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2026-04-04
  • Java的AQS基本原理詳細(xì)分析

    Java的AQS基本原理詳細(xì)分析

    這篇文章主要介紹了Java的AQS基本原理詳細(xì)分析,AQS是Abstract Queued Synchronizer的簡稱,AQS提供了一種實(shí)現(xiàn)阻塞鎖和一系列依賴FIFO等待隊(duì)列的同步器的框架,本文主要講解分析其基本原理,需要的朋友可以參考下
    2024-01-01
  • Java詳細(xì)講解依賴注入的方式

    Java詳細(xì)講解依賴注入的方式

    Idea中使用@Autowire注解會(huì)出現(xiàn)提示黃線,強(qiáng)迫癥患者看著很難受,使用構(gòu)造器注入或者setter方法注入后可解決,下面我們一起來看看
    2022-06-06
  • javaCV開發(fā)詳解之推流器和錄制器的實(shí)現(xiàn)

    javaCV開發(fā)詳解之推流器和錄制器的實(shí)現(xiàn)

    這篇文章主要介紹了javaCV開發(fā)詳解之推流器和錄制器實(shí)現(xiàn),對(duì)JavaCV感興趣的同學(xué),可以參考下
    2021-04-04
  • Java使用Spire.Presentation for Java庫合并PowerPoint的技術(shù)教程

    Java使用Spire.Presentation for Java庫合并PowerPoint的技術(shù)教

    在現(xiàn)代企業(yè)和個(gè)人開發(fā)中,文檔處理是不可或缺的一環(huán),尤其是在報(bào)告演示、內(nèi)容整合等場(chǎng)景下,PowerPoint 文件的自動(dòng)化處理需求日益增長,本文將深入探討如何利用 Java 編程語言,結(jié)合強(qiáng)大的 Spire.Presentation for Java庫,實(shí)現(xiàn)PowerPoiont文件的合并
    2026-01-01
  • 使用Java實(shí)現(xiàn)在Excel中創(chuàng)建下拉列表

    使用Java實(shí)現(xiàn)在Excel中創(chuàng)建下拉列表

    下拉列表(下拉框)可以確保用戶僅從預(yù)先給定的選項(xiàng)中進(jìn)行選擇,這樣不僅能減少數(shù)據(jù)輸入錯(cuò)誤,還能節(jié)省時(shí)間提高效率,下面我們就來看看如何在java中利用免費(fèi)庫實(shí)現(xiàn)創(chuàng)建下拉列表吧
    2024-03-03

最新評(píng)論

衡南县| 旌德县| 镇江市| 准格尔旗| 青冈县| 安国市| 尚志市| 泌阳县| 四平市| 永修县| 竹溪县| 东莞市| 通江县| 南乐县| 扬中市| 吉水县| 潍坊市| 芜湖县| 锡林浩特市| 三门县| 江西省| 西乌珠穆沁旗| 博白县| 永城市| 霍山县| 哈尔滨市| 饶河县| 怀安县| 新和县| 繁峙县| 琼结县| 义乌市| 东方市| 泗水县| 奉贤区| 钟山县| 隆化县| 邹城市| 盐边县| 西丰县| 诏安县|