电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

Java Bean與Map之間相互轉化的實現(xiàn)方法

瀏覽:15日期:2022-08-18 16:47:43
概述

Apache的BeanUtils Bean工具類很強大,基本涵蓋了Bean操作的所有方法。這里的話我們就講講兩個方面,一是Bean covert to Map,二是Map covert to Bean;Bean轉Map其實利用的是Java的動態(tài)性-Reflection技術,不管是什么Bean通過動態(tài)解析都是可以轉成Map對象的,但前提條件是field需要符合駝峰命名不過這也是寫碼規(guī)范,另一個條件就是每個field需要getter、setter方法。而Map轉Bean一樣也是通過Reflection動態(tài)解析成Bean。Java的Reflection其實是挺重要的,我們用的很多工具類都有它的存在,我們不止要會用而且更重要的是能夠理解是為什么,最好是自己去手寫實現(xiàn)這樣的話更能加深理解。

用Apache BeanUtils將Bean轉Map

代碼實現(xiàn)

/** * 用apache的BeanUtils實現(xiàn)Bean covert to Map * @throws Exception */ public static void beanToMap() throws Exception { User user=new User(); Map<String,String> keyValues=null; user.setPassWord('password'); user.setComments('test method!'); user.setUserName('wang shisheng'); user.setCreateTime(new Date()); keyValues=BeanUtils.describe(user); LOGGER.info('bean covert to map:{}', JSONObject.toJSON(keyValues).toString()); }

測試結果

Java Bean與Map之間相互轉化的實現(xiàn)方法

用Apache BeanUtils將Map轉Bean

代碼實現(xiàn)

/** * 用apache的BeanUtils實現(xiàn)Map covert to Bean * @throws Exception */ public static void mapToBean() throws Exception { Map<String,String> keyValues=new HashMap<>(); User user=new User(); keyValues.put('sessionId','ED442323232ff3'); keyValues.put('userName','wang shisheng'); keyValues.put('passWord','xxxxx44333'); keyValues.put('requestNums','34'); BeanUtils.populate(user,keyValues); LOGGER.info('map covert to bean:{}', user.toString()); }

測試結果

Java Bean與Map之間相互轉化的實現(xiàn)方法

理解BeanUtils將Bean轉Map的實現(xiàn)之手寫B(tài)ean轉Map

代碼實現(xiàn)

/** * 應用反射(其實工具類底層一樣用的反射技術) * 手動寫一個 Bean covert to Map */ public static void autoBeanToMap(){ User user=new User(); Map<String,Object> keyValues=new HashMap<>(); user.setPassWord('password'); user.setComments('test method!'); user.setUserName('wang shisheng'); user.setUserCode('2018998770'); user.setCreateTime(new Date()); Method[] methods=user.getClass().getMethods(); try { for(Method method: methods){String methodName=method.getName();//反射獲取屬性與屬性值的方法很多,以下是其一;也可以直接獲得屬性,不過獲取的時候需要用過設置屬性私有可見if (methodName.contains('get')){ //invoke 執(zhí)行get方法獲取屬性值 Object value=method.invoke(user); //根據(jù)setXXXX 通過以下算法取得屬性名稱 String key=methodName.substring(methodName.indexOf('get')+3); Object temp=key.substring(0,1).toString().toLowerCase(); key=key.substring(1); //最終得到屬性名稱 key=temp+key; keyValues.put(key,value);} } }catch (Exception e){ LOGGER.error('錯誤信息:',e); } LOGGER.info('auto bean covert to map:{}', JSONObject.toJSON(keyValues).toString()); }

測試結果

Java Bean與Map之間相互轉化的實現(xiàn)方法

到此這篇關于Java Bean與Map之間相互轉化的實現(xiàn)方法的文章就介紹到這了,更多相關Java Bean與Map相互轉化內容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持好吧啦網(wǎng)!

標簽: Java
相關文章:
主站蜘蛛池模板: 设定时间记录电子秤-自动累计储存电子秤-昆山巨天仪器设备有限公司 | 超声波气象站_防爆气象站_空气质量监测站_负氧离子检测仪-风途物联网 | 玻璃钢型材_拉挤模具_玻璃钢拉挤设备——滑县康百思 | 广州印刷厂_广州彩印厂-广州艺彩印务有限公司 | 篮球地板厂家_舞台木地板品牌_体育运动地板厂家_凯洁地板 | 沥青灌缝机_路面灌缝机_道路灌缝机_沥青灌缝机厂家_济宁萨奥机械有限公司 | 净化车间装修_合肥厂房无尘室设计_合肥工厂洁净工程装修公司-安徽盛世和居装饰 | 国产离子色谱仪,红外分光测油仪,自动烟尘烟气测试仪-青岛埃仑通用科技有限公司 | 钢木实验台-全钢实验台-化验室通风柜-实验室装修厂家-杭州博扬实验设备 | 上海小程序开发-小程序制作-上海小程序定制开发公司-微信商城小程序-上海咏熠 | 德国GMN轴承,GMN角接触球轴承,GMN单向轴承,GMN油封,GMN非接触式密封 | 无尘烘箱_洁净烤箱_真空无氧烤箱_半导体烤箱_电子防潮柜-深圳市怡和兴机电 | 玻纤土工格栅_钢塑格栅_PP焊接_单双向塑料土工格栅_复合防裂布厂家_山东大庚工程材料科技有限公司 | 恒压供水控制柜|无负压|一体化泵站控制柜|PLC远程调试|MCGS触摸屏|自动控制方案-联致自控设备 | 多功能真空滤油机_润滑油全自动滤油机_高效真空滤油机价格-重庆润华通驰 | 办公室家具公司_办公家具品牌厂家_森拉堡办公家具【官网】 | 紫外荧光硫分析仪-硫含量分析仪-红外光度测定仪-泰州美旭仪器 | 西安文都考研官网_西安考研辅导班_考研培训机构_西安在职考研培训 | 宿松新闻网 宿松网|宿松在线|宿松门户|安徽宿松(直管县)|宿松新闻综合网站|宿松官方新闻发布 | 微型气泵-真空-蠕动-水泵-厂家-深圳市品亚科技有限公司 | 东莞压铸厂_精密压铸_锌合金压铸_铝合金压铸_压铸件加工_东莞祥宇金属制品 | 变频器维修公司_plc维修_伺服驱动器维修_工控机维修 - 夫唯科技 变位机,焊接变位机,焊接变位器,小型变位机,小型焊接变位机-济南上弘机电设备有限公司 | 高通量组织研磨仪-多样品组织研磨仪-全自动组织研磨仪-研磨者科技(广州)有限公司 | 杭州厂房降温,车间降温设备,车间通风降温,厂房降温方案,杭州嘉友实业爽风品牌 | 针焰试验仪,灼热丝试验仪,漏电起痕试验仪,水平垂直燃烧试验仪 - 苏州亚诺天下仪器有限公司 | 天空彩票天下彩,天空彩天空彩票免费资料,天空彩票与你同行开奖,天下彩正版资料大全 | 电子万能试验机_液压拉力试验机_冲击疲劳试验机_材料试验机厂家-济南众标仪器设备有限公司 | 东莞办公家具厂家直销-美鑫【免费3D效果图】全国办公桌/会议桌定制 | 铸铁平台,大理石平台专业生产厂家_河北-北重机械 | 氧氮氢联合测定仪-联测仪-氧氮氢元素分析仪-江苏品彦光电 | 北京发电机出租_发电机租赁_北京发电机维修 - 河北腾伦发电机出租 | 苗木价格-苗木批发-沭阳苗木基地-沭阳花木-长之鸿园林苗木场 | 蓝莓施肥机,智能施肥机,自动施肥机,水肥一体化项目,水肥一体机厂家,小型施肥机,圣大节水,滴灌施工方案,山东圣大节水科技有限公司官网17864474793 | 土壤有机碳消解器-石油|表层油类分析采水器-青岛溯源环保设备有限公司 | 制氮设备_PSA制氮机_激光切割制氮机_氮气机生产厂家-苏州西斯气体设备有限公司 | 恒温槽_恒温水槽_恒温水浴槽-上海方瑞仪器有限公司 | 铝合金线槽_铝型材加工_空调挡水板厂家-江阴炜福金属制品有限公司 | 自动检重秤-动态称重机-重量分选秤-苏州金钻称重设备系统开发有限公司 | 英国公司注册-新加坡公司注册-香港公司开户-离岸公司账户-杭州商标注册-杭州优创企业 | 共享雨伞_共享童车_共享轮椅_共享陪护床-共享产品的领先者_有伞科技 | 氧化锆纤维_1800度高温退火炉_1800度高温烧结炉-南京理工宇龙新材料股份有限公司 |