java后端测试保存时给对象设置初始值
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java后端测试保存时给对象设置初始值,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2490字,纯文字阅读大概需要4分钟。
内容图文
![java后端测试保存时给对象设置初始值](/upload/InfoBanner/zyjiaocheng/633/03f8d4589fbe48bfa5d213e5dfeb2c62.jpg)
当我们需要测试保存时,自己new对象很麻烦,所以我写了一个通用方法,来自动设置初始值
现在还只能设置String类型,之后再增加设置其他类型。直接上代码。
package com.setValueToObject; import com.alibaba.fastjson.JSON; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import javax.transaction.NotSupportedException; import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; /** * TODO * * @author sean * @date 2020/5/13 11:51 AM */ public class ObjectParamOprate<T> { private final static Logger logger = LoggerFactory.getLogger(ObjectParamOprate.class); /** * 只给T对象中的String类型的属性赋值 * @param t * @return * @throws InvocationTargetException * @throws IllegalAccessException * @throws NotSupportedException */ public T setStringVaule(T t) throws InvocationTargetException, IllegalAccessException { Field[] f = t.getClass().getDeclaredFields();; //给test对象赋值 for (int i = 0; i < f.length; i++) { //获取属相名 String attributeName = f[i].getName(); //将属性名的首字母变为大写,为执行set/get方法做准备 String methodName = attributeName.substring(0, 1).toUpperCase() + attributeName.substring(1); try { //获取Test类当前属性的setXXX方法(私有和公有方法) /*Method setMethod=Test.class.getDeclaredMethod("set"+methodName);*/ //获取Test类当前属性的setXXX方法(只能获取公有方法) Method setMethod = t.getClass().getMethod("set" + methodName, String.class); //执行该set方法 setMethod.invoke(t, attributeName); } catch (NoSuchMethodException e) { logger.warn("不能给[{}]赋值,请自己赋值", attributeName); } } return t; } public static void main(String[] args) throws InvocationTargetException, IllegalAccessException, NotSupportedException { Test test = new Test(); ObjectParamOprate<Test> t = new ObjectParamOprate<>(); t.setStringVaule(test); System.out.println(JSON.toJSONString(test)); } }
package com.setValueToObject; import java.math.BigDecimal; public class Test { private String aa; private int bb; private String cc; public String dd; public Test test; public BigDecimal ee; private String ff; public String getFf() { return ff; } public void setFf(String ff) { this.ff = ff; } public String getAa() { return aa; } public void setAa(String aa) { this.aa = aa; } public int getBb() { return bb; } public void setBb(int bb) { this.bb = bb; } public String getCc() { return cc; } public void setCc(String cc) { this.cc = cc; } public Test getTest() { return test; } public void setTest(Test test) { this.test = test; } public BigDecimal getEe() { return ee; } public void setEe(BigDecimal ee) { this.ee = ee; } }
内容总结
以上是互联网集市为您收集整理的java后端测试保存时给对象设置初始值全部内容,希望文章能够帮你解决java后端测试保存时给对象设置初始值所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。