- 浏览: 508731 次
- 性别:
- 来自: 长沙
文章分类
最新评论
-
wang1352083:
正在搭建tomcat源码.一会儿参照楼主经验搭建spring源 ...
Eclipse中阅读开源项目代码 -
w123456789zzzz:
谢谢你,问题解决了,楼主万岁!!
eclipse中如何安装插件 -
xiaoLee:
...
软件性能测试论文草稿 -
铃儿响叮当:
...
使用firefox调试js -
gogopengyou:
很细心啊
eclipse中如何安装插件
[size=large]
本文是转载自网友的,我们自己可以在此基础上做一些修改使其成为我们的工具类。其实这种做法之前在写Mysql部分的监控时也曾用到了。[/size]
在使用openamf的类映射功能时,一般需要在as端也定义和java pojo类似的对象,用于类的映射。 有关使用openamf的类映射,请见之前的《openAMF自定义类映射(custom-class-mapping)的使用》 如果手工去写这些和java对应的flex vo对象比较麻烦,这里用java写了个简单的as vo对象生成的工具,代码如下: /** * */ package com.nstar.base.util; import java.io.BufferedWriter; import java.io.File; import java.io.FileWriter; import java.io.IOException; import java.lang.reflect.Field; import org.apache.commons.lang.StringUtils; /** * @author Administrator * */ public class VoUtils { public VoUtils(){} //根据java类对象的类型返回vo类型 public static String getClassType(Class c){ String typeName = c.getSimpleName(); if (typeName.equals("String") || typeName.equals("Date") || typeName.equals("Boolean")) { return typeName; }else if (typeName.equals("BigDecimal") || typeName.equals("Decimal") || typeName.equals("Double")) { return "Number"; }else if (typeName.equals("Integer")) { return "int"; }else { return "*";//其它类型的设置为未知类型,此处由自己去补充完善,并不建议使用"*" } } //重复c字符count次,用于格式化生成的as文件 public static String repeat(String c, int count){ String temp = ""; for(int i = 0;i<count ;i++){ temp += c; } return temp; } /** * 生成as文件 * @param pojoName java对象名称 * @param packageName flex中vo对象的包名 * @throws ClassNotFoundException * @throws IOException */ public static void generateAsFile(String pojoName, String packageName, String folder) throws ClassNotFoundException, IOException { Class c = Class.forName(pojoName); Field[] fields =c.getDeclaredFields(); //as的vo对象名称结尾加上VO标志 File f = new File(folder+c.getSimpleName()+"VO.as"); BufferedWriter bw = new BufferedWriter( new FileWriter(f)); //包名,没有设置包名就取和java pojo一样的包名 if (StringUtils.isEmpty(packageName)){ bw.write("package "+c.getPackage().getName()+"\n{\n"); }else{ bw.write("package "+packageName+"\n{\n"); } //写类 bw.write(repeat(" ",4)+"public class "+c.getSimpleName()+"VO\n"); bw.write(repeat(" ",4)+"{\n"); //写属性 for(int i=0;i<fields.length;i++){ Class fieldType = fields[i].getType(); String typeName = getClassType(fieldType); bw.write(repeat(" ",8)+"private var _"+fields[i].getName()+":"+typeName+";\n"); } bw.write("\n\n\n"); //写空的构造函数 bw.write(repeat(" ",8)+"public function "+c.getSimpleName()+"VO(){}\n\n"); //写 setter/getter 方法 for(int i=0;i<fields.length;i++){ Class fieldType = fields[i].getType(); String typeName = getClassType(fieldType); //setter bw.write(repeat(" ",8)+"public function set "+fields[i].getName()+"(value:"+typeName+"):void{\n"); bw.write(repeat(" ",12)+"this._"+fields[i].getName()+" = value;\n"); bw.write(repeat(" ",8)+"}\n\n"); //getter bw.write(repeat(" ",8)+"public function get "+fields[i].getName()+"():"+typeName+"{\n"); bw.write(repeat(" ",12)+"return this._"+fields[i].getName()+";\n"); bw.write(repeat(" ",8)+"}\n\n\n"); } bw.write(repeat(" ",4)+"}\n"); bw.write("}"); bw.close(); } //测试,写了个测试 public static void main(String[] args) throws ClassNotFoundException, IOException { // TODO Auto-generated method stub String[] pojos = { "com.nstar.model.orderexpress.Area", "com.nstar.model.orderexpress.FoodType", "com.nstar.model.orderexpress.Holiday", "com.nstar.model.orderexpress.ItemSpec", "com.nstar.model.orderexpress.ItemSpecType", "com.nstar.model.orderexpress.Menu2Rest", "com.nstar.model.orderexpress.OrderInfo", "com.nstar.model.orderexpress.OrderInfoExp", "com.nstar.model.orderexpress.OrderMenu", "com.nstar.model.orderexpress.OrderState", "com.nstar.model.orderexpress.OrderType", "com.nstar.model.orderexpress.Repository", "com.nstar.model.orderexpress.RepositoryType", "com.nstar.model.orderexpress.RestInfo", "com.nstar.model.orderexpress.UserInfo", "com.nstar.model.orderexpress.UserLevel", "com.nstar.model.orderexpress.UserType" }; for(int i=0;i<pojos.length;i++){ //Class c = Class.forName(pojos[i]); //System.out.println("registerClassAlias('"+pojos[i]+"',com.nstar.orderexpress.vo."+c.getSimpleName()+"VO);"); VoUtils.generateAsFile(pojos[i],"com.nstar.orderexpress.vo","C:/temp/"); } } } 测试时可以随便找个Java对象来测试,下面是其中生成的一个文件(OrderTypeVO)的内容: package com.nstar.orderexpress.vo { public class OrderTypeVO { private var _orderTypeId:String; private var _name:String; private var _remarks:String; public function OrderTypeVO(){} public function set orderTypeId(value:String):void{ this._orderTypeId = value; } public function get orderTypeId():String{ return this._orderTypeId; } public function set name(value:String):void{ this._name = value; } public function get name():String{ return this._name; } public function set remarks(value:String):void{ this._remarks = value; } public function get remarks():String{ return this._remarks; } } }[size=large][/size]
本文是转载自网友的,我们自己可以在此基础上做一些修改使其成为我们的工具类。其实这种做法之前在写Mysql部分的监控时也曾用到了。[/size]
发表评论
-
手续材料
2012-03-25 22:40 0所发生大幅 <SERVICE CLASS ... -
amcharts
2011-12-18 23:46 40821、AmLegend 2、当宽度不够时出现,解决方案设置Ca ... -
flex4中使用backgroundImage
2011-04-20 17:04 16591、 方式一 可以用BorderContainer把内容包涵进 ... -
Flex PopUpManager总结
2011-04-10 23:51 1194PopUpManager弹出的普通组件与TitleWindow ... -
右键&FVNC
2011-03-28 20:46 14001、需了解的Flex类:Security、 ProgressE ... -
3月份FLex工作日志
2011-03-20 21:39 10661、异常:LabelToolTip655 can only h ... -
我与GEF有个约会
2011-03-13 23:19 843我们的Desinger是基于GEF做的,而如今我可能需要 ... -
Flex组件以几何中心作为中心进行缩放
2011-01-26 21:38 1427控制BlurPopUpEffect控制弹出窗体的位置 ... -
Flex初始化探究
2011-01-26 21:37 902a、 FLex的初始化顺序? 拓展 ... -
mate之Injectors引发的问题
2011-01-25 23:07 9131、背景介绍:系统中含有事件模块,EventListVi ... -
Flex样式、图片以及组件
2011-01-20 19:22 26851、 指定组件的相对高度可以使用percentWidth和pe ... -
Flex个人知识库之Apple组件
2011-01-04 23:08 14992、 如何将网页上复制 ... -
OffLineMap替代方案研究
2010-12-30 22:33 969这个dc展示方案始终是得解决的,我感觉鸭梨很大。花在这个 ... -
Java-Flex通信
2010-12-27 23:09 1341背景:在内网访问 ... -
Flex个人知识库之样式皮肤
2010-12-18 08:58 946学习Flex已经有4、5个月了,也算是入了门吧,基本的 ... -
Flex个人知识库之工作日志2
2010-12-15 22:51 9651、 在dataGrid中设置某特定单元格的样式 使 ... -
Flex资源导航
2010-12-12 09:42 625将自己平时遇到的一些不错的FLex站点、博客等予以记录, ... -
个人FLex知识库之工作笔记
2010-12-12 09:18 1015[size=large]1、 private functio ... -
几条常用的Flex代码
2010-12-12 09:11 6611.复制内容到系统剪贴板 System.setCli ... -
中国城市经纬度数据
2010-12-10 08:38 2219前言暂时空缺... ... – – 表的结构 `cit ...
相关推荐
### Java的几种对象详解:PO-VO-DAO-BO-POJO #### 一、PO:Persistant Object(持久对象) 持久对象(Persistent Object,简称PO),主要用于与数据库中的表进行映射。一个简单的PO对象可以代表数据库表中的一条...
在Java编程中,Pojo(Plain Old Java Object)是一种简单的对象模型,通常用于表示数据实体。Map接口则是Java集合框架的一部分,它提供了键值对的数据存储方式,方便数据的存取。将Pojo对象转换为Map,可以简化数据...
maven-guvnor-install-pojo-plugin-1.1.0.17.jar
maven-guvnor-install-pojo-plugin-1.1.0.16.jar
maven-guvnor-install-pojo-plugin-1.1.0.15.jar
maven-guvnor-install-pojo-plugin-1.1.0.14.jar
maven-guvnor-install-pojo-plugin-1.1.0.13.jar
maven-guvnor-install-pojo-plugin-1.1.0.12.jar
maven-guvnor-install-pojo-plugin-1.1.0.11.jar
maven-guvnor-install-pojo-plugin-1.1.0.17-sources.jar
maven-guvnor-install-pojo-plugin-1.1.0.16-sources.jar
maven-guvnor-install-pojo-plugin-1.1.0.15-sources.jar
maven-guvnor-install-pojo-plugin-1.1.0.14-sources.jar
maven-guvnor-install-pojo-plugin-1.1.0.13-sources.jar
maven-guvnor-install-pojo-plugin-1.1.0.12-sources.jar
maven-guvnor-install-pojo-plugin-1.1.0.11-sources.jar
项目架子主要依赖: ...- pojo pojo - result 统一返回结果 - service service - utils 工具类 - vo vo对象 KuangstudyApplication 启动类 src/resources - static 静态资源 - templates 页面模板
POJO是Java编程中的一个术语,通常用来描述没有特殊框架依赖、简单、易用的Java类。在数据处理领域,POJO常用于封装业务对象或数据模型,便于数据的序列化和反序列化,尤其是在分布式系统和大数据处理中。例如,...
在SSM框架中,POJO(Plain Old Java Object)扮演着数据载体的角色,它代表了业务逻辑中的实体对象,如数据库表的映射对象。本笔记主要探讨了如何在SpringMVC中使用POJO来处理请求参数,以及SpringMVC如何自动将请求...
然而,在实际开发中,很多POJO类依然遵循JavaBean的约定,以便更好地与其他Java工具和框架集成。 总结一下,这个课程涵盖了Java编程中的重要概念:构造代码块提供了统一初始化对象的方式,构造函数用于创建和初始化...