例子

        JCodeModel cm = new JCodeModel();
JDefinedClass dc = cm._class("foo.Bar");
dc.annotate(cm.ref("org.springframework.stereotype.Repository")).param("value", "apnService"); dc.field(JMod.PRIVATE + JMod.STATIC, cm.parseType("String"), "staticVar", JExpr.lit("abc"));
dc.field(JMod.PUBLIC + JMod.STATIC + JMod.FINAL, cm.INT, "MAX_ARRAY_SIZE", JExpr.lit(25)); JArray array = JExpr.newArray(cm.parseType("String")); // 创建类型为数组
dc.field(JMod.PUBLIC + JMod.STATIC + JMod.FINAL, cm.parseType("String[]"), "SORTS", array);
array.add(JExpr.lit("createdAt"));
array.add(JExpr.lit("updatedAt")); JMethod m = dc.method(0, int.class, "foo");
m.body()._return(JExpr.lit(5)); JMethod m2 = dc.method(JMod.PUBLIC, cm.VOID, "bar");
m2.javadoc().add("This method will say Hello to the name.");
m2.annotate(Override.class);
m2.annotate(cm.ref("javax.ws.rs.GET"));
m2.annotate(cm.ref("javax.ws.rs.Path")).param("value", "/getCustomerInfo").param("name", "appPushMessageMapper");
JBlock block = m2.body();
JType type = cm.parseType("String");
JVar var = block.decl(type, "fieldVar");
JVar var1 = block.decl(type, "fieldVar1", JExpr.lit("test"));
JType typeMap2 = cm.ref("java.util.Map").narrow(cm.ref("String"), cm.ref("Object"));
JType typeMap3 = cm.ref("java.util.HashMap").narrow(cm.ref("String"), cm.ref("Object"));
block.decl(typeMap2, "map", JExpr._new(typeMap3)); JAnnotationUse ja;
JMethod m3 = dc.method(JMod.PUBLIC, cm.parseType("String"), "get");
JVar jv = m3.param(cm.parseType("String"), "id");
ja = jv.annotate(cm.ref("Param")).param("value", "id");
jv = m3.param(cm.ref("java.lang.String"), "site");
ja = jv.annotate(cm.ref("javax.jws.WebParam")); // construct a Map<String, Integer>
JType typeMap = cm.ref("java.util.Map").narrow(cm.ref("String"), cm.ref("Object"));
jv = m3.param(typeMap, "args");
ja = jv.annotate(cm.ref("Param")).param("value", "params"); File file = new File("d:/home/tomcat/code/");
file.mkdirs();
cm.build(file);

使用codemodel生成Java代码的更多相关文章

  1. 通过物理模型生成Java代码

    通过物理模型生成Java代码 软件开发过程中,我们一般是先针对数据库建模,物理建模完成后,生成数据库表,编码阶段的时候我们会针对数据库表生成大量的Javaeban或者是实体类 Powertdesign ...

  2. wsdl自动生成Java代码,根据wsdl生成Java代码

    wsdl自动生成Java代码,根据wsdl生成Java代码 >>>>>>>>>>>>>>>>>&g ...

  3. mybatis自动生成java代码

    SSM框架没有DB+Record模式,写起来特别费劲,只能用下面的方法勉强凑合. 上图中,*.jar为下载的,src为新建的空白目录,.xml配置如下. <?xml version=" ...

  4. 用generator 根据oracle表生成java代码,数据库与代码字段不一致

    前两天用generator生成java代码时发现,生成的javabean和数据库里的字段对应不上,不是少几个就是有几个字段不一样,感觉很怪异,后来发现日志里边这个表转换成bean是日志打印了好几遍,所 ...

  5. CXF wsdl2java 生成java代码供客户端使用

    CXF wsdl2java 生成java代码供客户端使用 环境配置:1.下载apache-cxf-2.6.2在环境变量中配置CXF_HOME 值为E:\gavin\cxf\apache-cxf-3.0 ...

  6. FreeMarker之根据模板生成Java代码

    FreeMarker根据模板生成Java代码,光这句话,大家想必也知道它的应用了,比如流行的DRY原则,该原则的意思,可简单概述为"不要写重复的代码". 比如Java中三层架构,数 ...

  7. StarUML3.1.0版(2019.3.6)生成Java代码

    下载官网 StarUML3.1.0(2019.3.6) 步骤 打开StarUML: 点击菜单栏的Tools: 列表中如果有Java,说明已经有这个生成Java代码的扩展了: 列表里如果没有Java: ...

  8. 使用Maven根据WSDL生成生成Java代码

    转载:https://blog.csdn.net/pzasdq/article/details/52601473 为便于自己学习,整理 修改pom.xml <project xmlns=&quo ...

  9. MyEclipse反向生成Java代码 ,Reverse Engineering-->Java Source Folder-->没有提供任何条目

    在web项目名称上,手动执行一遍Add Hibernate Capabilities,然后再去DB Browser中进行反向生成pojo实体类和hbm.xml映射文件!,具体生成反向代码的配置如下图所 ...

随机推荐

  1. Java中2+2==5解读

    先来看一段程序,如下: package basic; import java.lang.reflect.Field; public class TestField { public static vo ...

  2. Linux-网络连接-(VMware与CentOS)

    VMware虚拟机中安装CentOS,进行网络连接,分为两步,内网连接,与外网连接. 前提: 当你正确安装VMware后,网络适配器会增加2个新的网卡:(可在设备管理器->网络适配器中查看) 第 ...

  3. CSS笔记之伪类与伪元素

    伪类分为两种:UI伪类 与 结构化伪类 UI伪类:a:link{}    a:hover{}   a:active{}  a:visited{} input[type='text']:focus{} ...

  4. 分享15款很实用的 Sass 和 Compass 工具

    Sass 是 CSS 的扩展,增加了嵌套规则,变量,混入功能等很多更多.它简化了组织和维护 CSS 代码的成本.Compass 是一个开源的 CSS 框架,使得使用 CSS3 和流行的设计模式比以往任 ...

  5. javascript如何设置DIV背景色为随机色

    随机色有两种格式: 效果预览:http://wjf444128852.github.io/DEMOLIST/JS/test/index.html 1.rgb(xxx,xxx,xxx) 2.#xxxxx ...

  6. 获得appstore里面app的最新的版本信息,进行版本更新

    版本更新有两种方式 一种是从服务器获得最新的版本信息和当前app的版本进行比较 另外一种是获得appStore上最新的版本信息和当前的app的版本进行比较 现在我来说一下如何通过appStore获得最 ...

  7. 基本动画CABasicAnimation - 完成之后闪回初始状态

    基本动画CABasicAnimation 结束之后,默认闪回初始状态,那怎么解决呢? position需要设备两个属性: // MARK: - 结束后不要闪回去 anim.removedOnCompl ...

  8. iOS团队风格的统一

    不知不觉团队已经有了4个iOS开发,大家的代码风格完全不一样,所以每次改起别人的代码就头疼,理解起来不是那么顺畅,如鲠在喉.所以,就开了场分享会,把一些基本调用方法和代码风格统一了一下. 前言 主要参 ...

  9. 基于Ruby的watir-webdriver自动化测试方案与实施(四)

    接着基于Ruby的watir-webdriver自动化测试方案与实施(三) http://www.cnblogs.com/Javame/p/4159468.html 继续 ... ...   首先回忆 ...

  10. .Net Collection的一些理解——记录一次向实习生的答疑

    公司最近进了个实习生,每天下班前我都会花一些时间来解答一下实习生的一些疑问.今天问起了关于集合排序方法Sort的一些疑问,这让我一下回到自己刚刚入行的时候.那个时候也遇到了集合排序的问题,为发现接口I ...