模型

/*** @Author: feifei* @Date: 2023/03/07/10:53 上午* @Description:*/
@Data
@ToString
public class TestReflectModel {@TestReflect(fieldName = "myname")private String name;private String adress;
}

注解

/*** @Author: feifei* @Date: 2023/03/07/10:53 上午* @Description:*/
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.FIELD, ElementType.PARAMETER})
public @interface TestReflect {String fieldName() default  "";
}

方法和测试

/*** @Author: feifei* @Date: 2023/03/07/10:56 上午* @Description:*/
public class TestReflectMain {public static void main(String[] args) throws InstantiationException, IllegalAccessException {Map<String, String> map = new HashMap<>();map.put("myname","旺旺");map.put("adress","安阳");TestReflectModel testReflectModel = convertToModel(map);System.out.println(testReflectModel);}private static  TestReflectModel  convertToModel(Map<String,String> map) throws IllegalAccessException, InstantiationException {Class<TestReflectModel> clazz = TestReflectModel.class;TestReflectModel model = clazz.newInstance();Field[] fields = clazz.getDeclaredFields();for (Field field : fields) {// 获取对象的成员的注解信息TestReflect validator = field.getAnnotation(TestReflect.class);if (!field.isAccessible()) {field.setAccessible(true);}if (validator == null) {field.set(model,map.get(field.getName()));continue;}String name = validator.fieldName();if(StringUtils.isNotBlank(name)){field.set(model,map.get(name));}}return model;}
}

for wangwang相关推荐

  1. QQ MSN wangwang 直接联系

    客户点击阿里旺旺贸易通版的图标就可和直接联系的 http://alitalk.alibaba.com.cn/tese/index.html 还有其他的如:QQ.msn等 1.qq的动态代码生成页面: ...

  2. mysql读写分离(MySQL Proxy 安装和使用)

    一.必备软件: 1.LUA    可以去LUA的官方下载:www.lua.org 2.MySQL Proxy    这里有好多二进制版本.     http://mysql.cdpa.nsysu.ed ...

  3. python全栈开发笔记---------函数

    一 数学定义的函数与python中的函数 初中数学函数定义:一般的,在一个变化过程中,如果有两个变量x和y,并且对于x的每一个确定的值,y都有唯一确定的值与其对应,那么我们就把x称为自变量,把y称为因 ...

  4. 记一次 MySQL 的慢查优化

    最近遇见一个 MySQL 的慢查问题,于是排查了下,这里把相关的过程做个总结. 定位原因 我首先查看了 MySQL 的慢查询日志,发现有这样一条 query 耗时非常长(大概在 1 秒多),而且扫描的 ...

  5. 使用Wireshark进行DNS协议解析

    " DNS协议格式解析及说明." DNS即域名系统(Domain Name System),是用来将域名与IP地址建立映射的协议,通过DNS协议,可以方便记忆. DNS可基于TCP ...

  6. 面向对象的三大特性(封装、继承、多态)

    继承 什么是继承 继承是一种创建新类的方式,在python中,新建的类可以继承一个或多个父类,父类又可称为基类或超类,新建的类称为派生类或子类 python中类的继承分为:单继承和多继承 class ...

  7. 《Python基础知识全家桶》

    目录 1.实现一行输入多个数字,用空格隔开 2.实现一行输入多个单词,用","隔开 3.列表 4.for循环 5.切片 6.二维列表 7.元组 8.字典 set容器 9.嵌套 字典 ...

  8. 时髦的互联网公司都在用什么技术?

    想知道国内互联网公司都在用什么时髦或靠谱的技术,服务,开源项目吗?为此我发起了个调查,已经有一些结果了,随我来看. 调查地址:http://www.diaochapai.com/survey/1a91 ...

  9. Pytorch笔记(python--类与对象(class and module))

    本文用于记录python中class和module的学习笔记,主要应用到深度学习中.本文主要参考以下文章和视频. python中的类与对象 图灵星球python 大家注意观察每次代码的变化. 1.py ...

最新文章

  1. Windows远程桌面
  2. MySQL索引面试题分析(索引分析,典型题目案例)
  3. BugkuCTF-Misc:隐写3
  4. layui表单的ajax联动,layui的select联动实现代码
  5. 查看虚拟机cpu型号_KVM虚拟机,如何设置虚拟机的CPU型号与物理机是一样的
  6. 关联容器——map、set
  7. urtlebot3启动键盘控制后 /cmd_vel 会持续输出数据,在键盘不给信号时 /cmd_vel 续输,导致此功能与导航同时启动,会导致小车自动行走时一顿一顿的
  8. Apache Mina的用法
  9. jenkins安装与自动部署详细说明
  10. Caffe傻瓜系列(4):其它常用层及参数
  11. mysql i o开启_MySQL從屬I/O線程不運行。
  12. itchat获取群聊用户的信息
  13. PHP 获取YouTube视频相关信息(Youtube Api v3)
  14. 《深入理解RPC框架原理与实现 华钟明》读书笔记
  15. 六级词汇总结( 整理自己的大学时候的资料发现的好东东!!~~)
  16. 大数据从入门到实战 --HDFS系统初体验
  17. 7654:等差数列末项计算
  18. CCS6.1最后安装出现报错如下
  19. Java — 慎用Executors类中newFixedThreadPool()和newCachedThreadPool()
  20. 如何在Java中以编程方式阅读,添加或删除PPT中的幻灯片便笺?

热门文章

  1. Python入门学习P16~P20
  2. 新网 php泛域名,如何设置泛域名解析?
  3. JS设计模式——工厂模式
  4. Unity3D学习之旅5-RPG游戏-更新与踩坑实录
  5. .netcore 3.1 webapi部署到docker的坑
  6. java分页工具封装
  7. odp 加固 mysql_安装使用ODP.Net 问题及说明
  8. java回顾:SpringIOCxml开发
  9. python twisted教程_Python Twisted 学习系列20(转载stulife最棒的Twisted入门教程)
  10. 茶杯里的潮汐 - 梁静茹新专辑《丝路》中两首歌子