1.初衷
一个项目内JavaBean对象太多,造成java项目臃肿,冗余代码太多。于是我就思考能不能免去这些数据对象的创建,直接获取所需要的字段呢?NoBean因此诞生了!
2.为什么说是开历史的倒车呢?
最主要的原因是,JavaBean的规范给作为程序员的我们带来了太多的好处与便捷,NoBean完全违背了JavaBean规范的初心,这点确实可以说是开历史倒车,可耻!
但是既然NoBean存在,那便有存在的理由,至少有过我们这些码农的怀疑与思考,为什么要创建这么多的数据类?既然数据类都是千篇一律的get与set方法,为什么还要程序员手动去创建,还在我们的项目中占用那么大一个包专门管理?
3.NoBean的好处
(1)代码量少,NoBean整个项目只有4个java类,加上注释一共不超过300行代码!精辟!
(2)项目架构简单,一个Json字符串解析类,一个解析后的对象存储类,一个模板类,一个封装类,结构简单明了,代码简洁易懂!
(3)NoBean封装了常用数据的get与set方法,可设置的数据有字段、对象、数组。
(4)解析后的json对象存储在NonObject对象中,NonObject中字段是存的Object,可随意转换,对象存的是NonObject对象,数组存的是List<NonObject>数组。
(5)使用起来非常简单。
4.使用
//模拟网络请求来的json数据
String json="{\"test\":\"123\",\"test1\":[{\"test11\":\"456\"},{\"test11\":\"789\"}]}";
//利用NoBean解析Json字符串并获取NonObject对象
//方式一
NonObject nonObject=NoBean.getBean(json);
//方式二
NonObject nonObject=NoBean.getInstance().setJson(json).getBean();
//我们愉快的从NonObject对象中取我们需要的值
//取单个值
System.out.println((String) nonObject.getValue("test"));
//取数组然后遍历取具体值
for (INonObject object:nonObject.getList("test1")){
System.out.println((String) object.getValue("test11"));
}
5.项目地址
NoBean-Gitee.comhttps://gitee.com/xuqingcode/no-bean
6.结语
感谢您能看到最后,如果有啥想法,可以给我提意见,也可以在文章后面评论,欢迎指正。