当前位置:网站首页 > Java基础 > 正文

java类的基础代码



手机号码校验通常是系统开发中最基础的功能之一。在本文中,我们将会使用Java Lombok框架实现一个简单的手机号码校验功能。Java Lombok是一个开源的Java库,用于自动化生成Java类的代码,它可以大大减少Java类的冗余代码,提高程序员的开发效率。

一、添加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方法中,我们首先创建了一个Validator对象,然后调用它的validate方法对传入的User对象进行校验。如果校验结果中没有错误信息,我们就返回true,否则返回false。

四、使用JUnit对手机号码校验进行单元测试

以下是一个简单的JUnit测试类,在测试方法中,我们通过构建一个User对象并将其mobilePhone字段设置为不合法的值时,来检查是否能捕获到校验错误:

import org.junit.Assert; import org.junit.Test; public class UserValidatorTest { @Test public void testMobilePhoneValidation() java类的基础代码 { User user = new User(); user.setName("张三"); user.setMobilePhone(""); 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(""); UserValidator userValidator = new UserValidator(); Assert.assertFalse(userValidator.isValid(user)); } }

六、总结

在本文中,我们使用了Java Lombok和Java Validation API框架实现了手机号码校验功能。Lombok大大减少了Java类的冗余代码,Validation API则使我们可以轻松地实现校验功能。

版权声明


相关文章:

  • java虚拟机的基础2024-10-23 14:34:00
  • java基础运算类型2024-10-23 14:34:00
  • java基础语法1162024-10-23 14:34:00
  • java基础软件安装2024-10-23 14:34:00
  • 翁恺java零基础入门2024-10-23 14:34:00
  • java基础学习感受2024-10-23 14:34:00
  • 最基础的java听不懂2024-10-23 14:34:00
  • java 锁基础2024-10-23 14:34:00
  • java基础分支循环2024-10-23 14:34:00
  • java基础查询成绩2024-10-23 14:34:00