如何通过java反射为setter方法设置变量

Java开发

我有一个定义为 EmployeeBase.java 的实体类,它有 200 个 setter 方法和 200 个为其声明的私有变量。

我有一个 Employee.java,它扩展了基类 EmployeeBase.java,它也有几个字段。

现在我想为 Employee.java 中的所有字段创建随机值并返回 Employee 对象。

我不确定如何设置 Employee 和基类中存在的所有 setter 值。

请帮我。

谢谢。

克劳迪文·莫雷拉

有一些库的目标是减少创建 Junit 测试的时间和精力,例如PodamEasytest为简单起见,我喜欢在我的测试中使用 Podam。

  1. 将 Podam 依赖添加到你的 pom.xml

    <dependency>
        <groupId>uk.co.jemos.podam</groupId>
        <artifactId>podam</artifactId>
        <version>7.0.5.RELEASE</version>
    </dependency>
    
  2. 写你的豆子:

    2.1. 人.java

    public abstract class Peopple {
    
        private String name;
        private String mail;
        private List<String> phones;
    
        public String getName() {return name;}
        public void setName(String name) {this.name = name;}
        public String getMail() {return mail;}
        public void setMail(String mail) {this.mail = mail;}
        public List<String> getPhones() {return phones;}
        public void setPhones(List<String> phones) {this.phones = phones;}
    

    }

    2.2. 课程.java

    public class Course {
    
        private String code;
        private String name;
    
        public String getCode() {return code;}
        public void setCode(String code) {this.code = code;}
        public String getName() {return name;}
        public void setName(String name) {this.name = name;}
    
        @Override
        public String toString() {
            return return ReflectionToStringBuilder.toString(this, ToStringStyle.MULTI_LINE_STYLE);
      }
    }
    

    2.3. 学生.java

    public class Student extends Peopple {
    
        private Course course;
    
        public Course getCourse() {return course;}
        public void setCourse(Course course) {this.course = course;}
    
        @Override
        public String toString() {
            return return ReflectionToStringBuilder.toString(this, ToStringStyle.MULTI_LINE_STYLE);
        }
    }
    
  3. 使用 Podam 填充豆子:

    public class PodamDataGenerator {
        public static void main(String[] args) {
    
            PodamFactory podamFactory = new PodamFactoryImpl();
            //Limit number of elements to collections fields
            podamFactory.getStrategy().setDefaultNumberOfCollectionElements(2);
            Student student = podamFactory.manufacturePojo(Student.class);
            System.out.println("Podam Pojo\n-----------\n " + student);
        }
    }
    
  4. 输出

    Podam Pojo
    -----------
    Student[course=Course[code=Dr0zgS5ZKw,name=ZrGJ8xAcJQ],
            name=nB6zy558W5,mail=DuW6YyLgo3,phones=[Wlc7axk_A7, nQxDmUlukY]]
    

希望这可以帮助!

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

java中如何通过反射调用setter方法

来自分类Dev

如何通过在java中使用反射直接在bean类的私有Setter方法中设置值

来自分类Dev

通过反射设置变量

来自分类Dev

Java反射-如何调用getter / setter方法?

来自分类Dev

使用循环变量和Java反射调用setter方法

来自分类Dev

如何通过反射C#在setter中调用方法

来自分类Dev

通过方法设置Java变量

来自分类Dev

通过方法设置Java变量

来自分类Dev

通过反射检索的变量类型的方法调用

来自分类Dev

如何修改通过void方法(必须为void)传递的变量并更改方法外部的值(Java)

来自分类Dev

当方法的参数为List时如何通过反射调用私有方法?

来自分类Dev

如何通过反射为参数的默认值调用方法的方法

来自分类Dev

通过反射将字段值设置为null

来自分类Dev

Lombok Setter,将输入变量设置为最终变量

来自分类Dev

如何通过反射 API 在 Java 中获取已处理的对象并为其设置新值?

来自分类Dev

无法通过Java反射调用方法:NoSuchMethodException

来自分类Dev

如何通过反射从方法中获取注释

来自分类Dev

通过反射访问main方法中的局部变量

来自分类Dev

如何在ajax方法中为公共变量设置值?

来自分类Dev

如何获取设置为在方法外显示内容的变量?

来自分类Dev

如何通过选择设置变量?

来自分类Dev

如何获取html值并将其设置为java变量

来自分类Dev

如何在Java中将变量设置为传入参数?

来自分类Dev

通过反射检查类时,如何避免从Java中的Object类继承的方法?

来自分类Dev

如何通过反射获取java中受保护方法的替代版本?

来自分类Dev

如何使用反射将属性的值设置为null

来自分类Dev

如何设置存储为对象的反射属性值?

来自分类Dev

ValueTuple通过反射设置字段

来自分类Dev

如何分析反射调用的Java方法

Related 相关文章

  1. 1

    java中如何通过反射调用setter方法

  2. 2

    如何通过在java中使用反射直接在bean类的私有Setter方法中设置值

  3. 3

    通过反射设置变量

  4. 4

    Java反射-如何调用getter / setter方法?

  5. 5

    使用循环变量和Java反射调用setter方法

  6. 6

    如何通过反射C#在setter中调用方法

  7. 7

    通过方法设置Java变量

  8. 8

    通过方法设置Java变量

  9. 9

    通过反射检索的变量类型的方法调用

  10. 10

    如何修改通过void方法(必须为void)传递的变量并更改方法外部的值(Java)

  11. 11

    当方法的参数为List时如何通过反射调用私有方法?

  12. 12

    如何通过反射为参数的默认值调用方法的方法

  13. 13

    通过反射将字段值设置为null

  14. 14

    Lombok Setter,将输入变量设置为最终变量

  15. 15

    如何通过反射 API 在 Java 中获取已处理的对象并为其设置新值?

  16. 16

    无法通过Java反射调用方法:NoSuchMethodException

  17. 17

    如何通过反射从方法中获取注释

  18. 18

    通过反射访问main方法中的局部变量

  19. 19

    如何在ajax方法中为公共变量设置值?

  20. 20

    如何获取设置为在方法外显示内容的变量?

  21. 21

    如何通过选择设置变量?

  22. 22

    如何获取html值并将其设置为java变量

  23. 23

    如何在Java中将变量设置为传入参数?

  24. 24

    通过反射检查类时,如何避免从Java中的Object类继承的方法?

  25. 25

    如何通过反射获取java中受保护方法的替代版本?

  26. 26

    如何使用反射将属性的值设置为null

  27. 27

    如何设置存储为对象的反射属性值?

  28. 28

    ValueTuple通过反射设置字段

  29. 29

    如何分析反射调用的Java方法

热门标签

归档