自动生成java代码工具,有没有uml工具能自动生成java代码的

1,有没有uml工具能自动生成java代码的常用的是StarUML,其他一些UML软件,如Rational Rose都是可以的,即可正向生成,也可以逆向生成我常用的是staruml,其他一些uml软件,如rational rose都是可以的,即可正向生成,也可以逆向生成【自动生成java代码工具,有没有uml工具能自动生成java代码的】
2,不会做显示界面有没有哪种软件可以让我在软件上设计帮我生成eclipse有windowbuilderpro插件,支持拖拉界面 。NetBeans有界面设计工具,可以拖拽实现界面设计 。eclipse自带RCP插件,可以实现一般的拖拽增添按钮,text之类的 , 新建工程的时候选择plugin-project,在windowbuilder视图下可以有很多工具,跟netbeans差不多 。myeclipse也有拖拽功能 。
3,怎么使用rose生成java代码1.语法检查选中你画好的类,tools->java/j2ee->syntax check如果无语法错误可以进行下面的操作(警告可以忽略)2.设置路径选中你画好的类 , tools->java/j2ee->project specification如果出现的列表里面已经有一些jdk的jar包则说明jdk目录是正确的,否则请点击下面的“jdk atuo search"搜索,或者手动添加jdk包:在弹出来的对话框中选下面的按钮:添加完毕以后 , 再添加你所需要导出代码的目录,当然还是点上图的小红圈进行添加,这样目录就设置完了3.生成代码tools->java/j2ee->geneate code , 选择刚才添加的路径,点击ok即可一定注意的是,在所有操作之前都要选中你画的类图 。祝你成功!3推荐ROSE 生成代码:首先要在Tools-->Java/J2EE-->Project Specification里面的classpath里面加入你要生成的代码的目的路径 。然后选中一个或多个包/类,选择Tools-->Java/J2EE-->Generate Code,将目的路径assign给你要生成代码的包/类,点OK就可以生成代码了这样生成的代码属性可能没有set/ get 方法,可以按下面的做:在ROSE的TOOLS工具栏下面有一个OPEIONS...的.点开以后选择JAVA,在TYPE中选择ATTRIBUTE,MODEL下面有一个PROPERTYTYPE,可以选择SIMPLE或者BOUND那等你生成代码的时候就会自动增加SET和GET方法了
4,Myeclipse中如何自动生成Java代码啊myeclipse没有直接的快捷键自动生成构造方法,可以有快捷键弹出source , 接着点击自动生成构造方法的菜单 。具体操作如下:工具里快捷键alt+shift+s 就弹出来Generate Constructor using Fields先把你要封装的属性定义好,然后右键选中Source--→Generate Getter and Setter,把你要封装的属性勾上,然后点击完成即可alt +shift+s选择第四项第二个Generate Getter and Setter 然后选择你要生成的属性,如果是全部选中,右边则有一个Select all选项,无论什么版本,默认都是如此!用myeclipse将wsdl文件生成java代码:1、选择新建的工程后,点击右键 , 选择“run as”->“run”,如下图所示:2、弹出如下窗口:3、 在上图中,左边选择“java application”后,点击左上角的新增“”按钮new configuration,页面如下图所示:4、在上图中,将“include libraries when searching for a main class” 勾上,而后点击“main class”右边的“search”按钮 , 弹出窗口如下图所示:5、在上图中输入wsdl2java后,查找到axis这个jar包中对应类 , 点击“ok”按钮 , 此时主窗口如下图所示:6、在上图中点击“arguments”页签,arguments里把要生成的web service uri或wsdl文件写进去,最后点run 。在下图中输入的是wsdl文件的路径: src/wsdl/acd_accesscode_interface.wsdl、src/wsdl/acd_accesscode_service.wsdl:7、生成的java代码如下:5 , 如何使用Freemarker生成java代码Freemarker是一个模板框架 。我们可以通过Freemarker进行代码生成或页面的静态生成 。现在简单的说一下怎样使用Freemarker Freemarker的主要生成类public boolean generate(String templateFileName, Map data,String fileName) try //取得模板的位置String templateFileDir=templateFileName.substring(0, templateFileName.lastIndexOf("/"));//取得模板的名字String templateFile=templateFileName.substring(templateFileName.lastIndexOf("/"), templateFileName.length());//取得生成文件的路径String genFileDir=fileName.substring(0, fileName.lastIndexOf("/")); Template template = ConfigurationHelper.getConfiguration(templateFileDir).getTemplate(templateFile); File fileDir=new File(genFileDir);org.apache.commons.io.FileUtils.forceMkdir(fileDir); File output = new File(fileName);if(output.exists())//如何代码已存在不重复生成 return false;} Writer writer = new FileWriter(output); template.process(data, writer);writer.close();} catch (TemplateException e) e.printStackTrace(); return false;} catch (IOException e) e.printStackTrace(); return false;}return true;}利用freemarker生成java beanfreemarker模板代码如下: package $/** *<#if author == "adams"> @author adams*/pulic class $<#list attrs as a>private $<#list attrs as a>public void set$this.$}public $return this.$}}java代码如下package com.my.learn.freemarker; public class attrpublic string field;public string type;public attr(string field,string type)this.field = field;this.type = type;}public string getfield()return this.field;}public string gettype()return this.type;}public void setfield(string field)this.field = field;}public void settype(string type)this.type = type;}}package com.my.learn.freemarker; import java.io.file; import java.io.ioexception; import java.io.stringwriter; import java.util.arraylist; import java.util.hashmap; import java.util.list; import java.util.map; import freemarker.template.configuration; import freemarker.template.template; import freemarker.template.templateexception; public class fmappuseagepublic static void main(string[] args)listlist = new arraylist(); list.add(new attr("username", "string")); list.add(new attr("password", "string")); list.add(new attr("age", "int")); list.add(new attr("hobby", "string")); map root = new hashmap(); root.put("packagename", "com.my.learn.freemarker"); root.put("classname", "user"); root.put("attrs", list); root.put("author", "adams"); configuration cfg = new configuration(); string path = fmappuseage.class.getresource("/").getpath()+"template"; try { cfg.setdirectoryfortemplateloading(new file(path)); template template = cfg.gettemplate("/demo.ftl"); stringwriter out = new stringwriter(); template.process(root, out); system.out.println(out.tostring()); } catch (ioexception e) { system.out.println("cause==>" + e.getcause()); } catch (templateexception e) { system.out.println("cause==>" + e.getcause()); } } } 输出结果如下: package com.my.learn.freemarker; /** * @author adams */ pulic class user { private string username; private string password; private int age; private string hobby; public void setusername(string username){ this.username = username; } public string getusername(){ return this.username; } public void setpassword(string password){ this.password = password; } public string getpassword(){ return this.password; } public void setage(int age){ this.age = age; } public int getage(){ return this.age; } public void sethobby(string hobby){ this.hobby = hobby; } public string gethobby(){ return this.hobby; } } 当在笔者刚做测试时 , 将attr的类定义在了fmappuseage类的内部 , 导致不能正常运行,只能将其移除单独成一个类时,便能正常运行了 。转载仅供参考,版权属于原作者 。祝你愉快,满意请采纳哦

    推荐阅读