JavaBean属性名要求:前两个字母要么都大写,要么都小写

package com.jdyh.worker.project.controller;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import lombok.Data; import java.beans.BeanInfo;
import java.beans.Introspector;
import java.beans.PropertyDescriptor; // https://www.cnblogs.com/threecc/archive/2011/09/05/2167667.html https://www.jb51.net/article/113074.htm
//lombok 与 手动生成getter的区别
public class dd3 { public static void main(String[] args) throws Exception {
// java基础之内省(Introspector)操作javabean属性的理解(主要用于开发框架): http://blog.sina.com.cn/s/blog_e3bab1310102v7k3.html
BeanInfo beanInfo = Introspector.getBeanInfo(Person.class);
PropertyDescriptor[] pds = beanInfo.getPropertyDescriptors();
for (int i = 0; i < pds.length; i++) {
System.out.println(pds[i].getName());
}
Person person = new Person();
person.setAA("1");
person.setBb("2");
person.setCC("3");//lombok
// person.setcC("3");//手动生成getter
String d2 = toJsonStr(person);
System.out.println("---20-->" + d2);
JSONObject d3 = toJson(d2);
System.out.println("---21-->" + d3);
Person d4 = jsontoBean(d3);
System.out.println("---22-->" + d4.toString()); } public static String toJsonStr(Object object) {
return JSON.toJSONString(object);
} public static JSONObject toJson(String str) {
return JSON.parseObject(str);
} public static Person jsontoBean(JSON json) {
return JSON.toJavaObject(json, Person.class);
} @Data
static class Person {//这是一个JavaBean
private String AA;
private String Bb;
private String cC; public String getAA() {
return AA;
} public void setAA(String aa) {
AA = aa;
} public String getBb() {//decapitalize(Bb)会得出属性是bb,实际是Bb
return Bb;
} public void setBb(String bb) {
Bb = bb;
} public String getCC() {//decapitalize(CC)会得出属性是CC,实际是cC
return cC;
} public void setCC(String cc) {
cC = cc;
} }
}

fastJson + lombok + 属性名命名 踩坑点的更多相关文章

  1. lombok踩坑与思考

    虽然接触到lombok已经有很长时间,但是大量使用lombok以减少代码编写还是在新团队编写新代码维护老代码中遇到的. 我个人并不主张使用lombok,其带来的代价足以抵消其便利,但是由于团队编码风格 ...

  2. 记录自己的踩坑第一天 | CSS:vertical-align 属性

    前言 最近老师让大家单独写前后端分离项目,真是大家卷完后端,一起去卷前端了.(我以前都是主要负责后端,处于只大致看的懂的级别,说多了都是泪啊). 真是处于一边学一边写的状态,基本就是每天早上看上两~三 ...

  3. Lombok好用是好用,就是容易踩坑,这份避坑指南请查收

    序言 各位好啊,我是会编程的蜗牛,作为java开发者,我们平常在开发过程中,总是希望能够尽量少敲代码.这一方面,当然是为了偷懒,另一方面,当然也是为了代码看起来更加简洁一点,不断往编程规范上靠.然后其 ...

  4. ibernate学习笔记5---实体类或属性名与数据库关键字冲突、hql命名参数、hql实现通用分页

    一.实体类或属性名与数据库关键字冲突问题1.实体类名与数据库中的关键字冲突比如:实体表User与oracle中的系统表冲突解决方式1:在xml中添加table属性,指定表名,使其不与name默认相等 ...

  5. swiper4自动轮播切换手动触碰后停止踩坑——属性disableOnInteraction

    swiper4轮播设置autoplay自动切换后,即默认设置: <script> var mySwiper = new Swiper('.swiper-container', { auto ...

  6. vue中书写JSX一些坑-特殊属性名

    举例说明, T1和T2引用Sub时, key2会出现在props以及data.attrs中, 而key则在data中 const Sub = ({data, props}) => { conso ...

  7. [jnhs]教训之jsp页面无法用jstl取值的坑.真他妈的奇葩,实体类的属性名不能用大写

    结果页面永远都是空 调试发现,数据正常的塞进去了 问题解决: https://zhidao.baidu.com/question/570584436.html 实体类的属性名,首字母不能大写,改成小写 ...

  8. 你真的了解字典(Dictionary)吗? C# Memory Cache 踩坑记录 .net 泛型 结构化CSS设计思维 WinForm POST上传与后台接收 高效实用的.NET开源项目 .net 笔试面试总结(3) .net 笔试面试总结(2) 依赖注入 C# RSA 加密 C#与Java AES 加密解密

    你真的了解字典(Dictionary)吗?   从一道亲身经历的面试题说起 半年前,我参加我现在所在公司的面试,面试官给了一道题,说有一个Y形的链表,知道起始节点,找出交叉节点.为了便于描述,我把上面 ...

  9. JavaScript 新手的踩坑日记

    引语 在1995年5月,Eich 大神在10天内就写出了第一个脚本语言的版本,JavaScript 的第一个代号是 Mocha,Marc Andreesen 起的这个名字.由于商标问题以及很多产品已经 ...

随机推荐

  1. java 企业 网站源码 后台 springmvc SSM 前台 静态化 代码生成器

    前台: 支持四套模版, 可以在后台切换 系统介绍: 1.网站后台采用主流的 SSM 框架 jsp JSTL,网站后台采用freemaker静态化模版引擎生成html 2.因为是生成的html,所以访问 ...

  2. js string相关方法

    1>concat()      //合并返回新的字符串 var a="么么么么",b="ssss"; a.concat(b) //"么么么么ss ...

  3. 372-基于XC7VX690T的高速模拟信号、万兆光纤综合计算平台

    基于XC7VX690T的高速模拟信号.万兆光纤综合计算平台 一.板卡概述 基于V7的高性能PCIe信号处理板,板卡选用Xilinx 公司Virtex7系列FPGA XC7VX690T-2FFG1761 ...

  4. k8s 1.9.0-手动安装-2

    1 下载etcd新版 https://github.com/coreos/etcd/releases 直接下载k8s的二进制包 https://github.com/kubernetes/kubern ...

  5. prototype的用法

    定义: prototype 属性使您有能力向对象添加属性和方法. 语法: object.prototype.name=value 实例: function prot(){ this.name = 'J ...

  6. springboot logback 配置 通配符不行就这样

    <?xml version="1.0" encoding="UTF-8"?><configuration> <property n ...

  7. jquery常用用法

    1.$("prve + next" )                          选择紧接着在perve后的next元素2.$("#div1 > *&quo ...

  8. Dubbo学习-8-dubbo启动时检查

    启动时检查的作用如下: (1)Dubbo 缺省会在启动时检查依赖的服务是否可用,不可用时会抛出异常,阻止 Spring 初始化完成,以便上线时,能及早发现问题,默认 check="true& ...

  9. [design pattern](0) 概述

    一 引语 大家好,这是我第一次在网上写文章.从学校毕业一年多,感觉还有很多东西需要去学习.最近正在学习设计模式,希望可以在博客园把我学习的知识记录下来,能够和大家一起讨论设计模式相关的话题,也希望这个 ...

  10. (转)CentOS7下解决ifconfig command not found的办法

    转:https://blog.csdn.net/ryu2003/article/details/78492127 注:本办法仅限于可联网的机器,即在安装时设置了IP地址和DNS可正常上网. 解决办法如 ...