「开源java代码生成器」java 代码生成器 开源

博主:adminadmin 2023-03-22 05:54:11 647

今天给各位分享开源java代码生成器的知识,其中也会对java 代码生成器 开源进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

现在java开源的工作流引擎 哪个比较好点

myapps快速开发平台还不错,具体优势如下:

1)高效快速

可视化开发,操作非常简单,曾有一实习生程序员1天做20多个单表业务功能的记录,能在短时间内完成各类专业性强的工作。

2)开发成本低

不需精通编程语言、数据库和各种开发技术的人才,节省人员成本;普通程序员一天可以开发十几个模块,且测试简单,性能稳定,不需要磨合时间,节省时间成本。

3)兼容性强

支持JAVA多种类型数据库

面向服务/接口设计,可轻松集成或集成到外部系统,轻松整合企业现有资源

插件式开发,基于该平台

开发出来的业务功能可以直接插入到该平台的其它项目

4)功能强大

前后端分离,共享服务总线

细粒度的权限管控,通过简单配置就可以实现功能权限和数据权限

5)扩展性好

代码级开发,丰富多样的模板库,高自由度的组合方式,扩展灵活性高。

6)定制服务

针对客户自身需求,进行组件定制,服务定制,只求解决客户所有的需求

模块功能介绍

功能模块:开发向导、代码生成器,商业智能、工作流、报表管理、移动端开发、作业计划、多语言、数据源管理、企业微信、钉钉、消息管理,菜单管理,用户管理,机构管理,角色管理,区域管理,字典管理,日志查询等基础模块。

GitHub上面有哪些经典的java框架源码

Bazel:来自Google的构建工具,可以快速、可靠地构建代码。官网

Gradle:使用Groovy(非XML)进行增量构建,可以很好地与Maven依赖管理配合工作。官网

Buck:Facebook构建工具。官网

字节码操作

编程方式操作字节码的开发库。

ASM:通用底层字节码操作和分析开发库。官网

Byte Buddy:使用流式API进一步简化字节码生成。官网

Byteman:在运行时通过DSL(规则)操作字节码进行测试和故障排除。官网

Javassist:一个简化字节码编辑尝试。官网

集群管理

在集群内动态管理应用程序的框架。

Apache Aurora:Apache Aurora是一个Mesos框架,用于长时间运行服务和定时任务(cron job)。官网

Singularity:Singularity是一个Mesos框架,方便部署和操作。它支持Web Service、后台运行、调度作业和一次性任务。官网

代码分析

测量代码指标和质量工具。

Checkstyle:代码编写规范和标准静态分析工具。官网

Error Prone:将常见编程错误作为运行时错误报告。官网

FindBugs:通过字节码静态分析查找隐藏bug。官网

jQAssistant:使用基于Neo4J查询语言进行代码静态分析。官网

PMD:对源代码分析查找不良的编程习惯。官网

SonarQube:通过插件集成其它分析组件,对过去一段时间内的数据进行统计。官网

编译器生成工具

用来创建解析器、解释器或编译器的框架。

ANTLR:复杂的全功能自顶向下解析框架。官网

JavaCC:JavaCC是更加专门的轻量级工具,易于上手且支持语法超前预测。官网

外部配置工具

支持外部配置的开发库。

config:针对JVM语言的配置库。官网

owner:减少冗余配置属性。官网

约束满足问题求解程序

帮助解决约束满足问题的开发库。

Choco:可直接使用的约束满足问题求解程序,使用了约束规划技术。官网

JaCoP:为FlatZinc语言提供了一个接口,可以执行MiniZinc模型。官网

OptaPlanner:企业规划与资源调度优化求解程序。官网

Sat4J:逻辑代数与优化问题最先进的求解程序。官网

持续集成

Bamboo:Atlassian解决方案,可以很好地集成Atlassian的其他产品。可以选择开源许可,也可以购买商业版。官网

CircleCI:提供托管服务,可以免费试用。官网

Codeship:提供托管服务,提供有限的免费模式。官网

fabric8:容器集成平台。官网

Go:ThoughtWork开源解决方案。官网

Jenkins:支持基于服务器的部署服务。官网

TeamCity:JetBrain的持续集成解决方案,有免费版。官网

Travis:通常用作开源项目的托管服务。官网

Buildkite: 持续集成工具,用简单的脚本就能设置pipeline,而且能快速构建,可以免费试用。官网

CSV解析

简化CSV数据读写的框架与开发库

uniVocity-parsers:速度最快功能最全的CSV开发库之一,同时支持TSV与固定宽度记录的读写。官网

数据库

简化数据库交互的相关工具。

Apache Phoenix:HBase针对低延时应用程序的高性能关系数据库层。官网

Crate:实现了数据同步、分片、缩放、复制的分布式数据存储。除此之外还可以使用基于SQL的语法跨集群查询。官网

Flyway:简单的数据库迁移工具。官网

H2:小型SQL数据库,以可以作为内存数据库使用著称。官网

HikariCP:高性能JDBC连接工具。官网

JDBI:便捷的JDBC抽象。官网

Protobuf:Google数据交换格式。官网

SBE:简单二进制编码,是最快速的消息格式之一。官网

Wire:整洁轻量级协议缓存。官网

帮实现依赖翻转范式的开发库。 官网

Apache DeltaSpike:CDI扩展框架。官网

Dagger2:编译时注入框架,不需要使用反射。官网

Guice:可以匹敌Dagger的轻量级注入框架。官网

HK2:轻量级动态依赖注入框架。官网

开发流程增强工具

从最基本的层面增强开发流程。

ADT4J:针对代数数据类型的JSR-269代码生成器。官网

AspectJ:面向切面编程(AOP)的无缝扩展。官网

Auto:源代码生成器集合。官网

DCEVM:通过修改JVM在运行时支持对已加载的类进行无限次重定义。官网

HotswapAgent:支持无限次重定义运行时类与资源。官网

Immutables:类似Scala的条件类。官网

JHipster:基于Spring Boot与AngularJS应用程序的Yeoman源代码生成器。官网

JRebel:无需重新部署,可以即时重新加载代码与配置的商业软件。官网

Lombok:减少冗余的代码生成器。官网

Spring Loaded:类重载代理。官网

vert.x:多语言事件驱动应用框架。官网

分布式应用

用来编写分布式容错应用的开发库和框架。

Akka:用来编写分布式容错并发事件驱动应用程序的工具和运行时。官网

Apache Storm:实时计算系统。官网

Apache ZooKeeper:针对大型分布式系统的协调服务,支持分布式配置、同步和名称注册。官网

Hazelcast:高可扩展内存数据网格。官网

Hystrix:提供延迟和容错。官网

JGroups:提供可靠的消息传递和集群创建的工具。官网

Orbit:支持虚拟角色(Actor),在传统角色的基础上增加了另外一层抽象。官网

Quasar:为JVM提供轻量级线程和角色。官网

分布式数据库

对应用程序而言,在分布式系统中的数据库看起来就像是只有一个数据源。

Apache Cassandra:列式数据库,可用性高且没有单点故障。官网

Apache HBase:针对大数据的Hadoop数据库。官网

Druid:实时和历史OLAP数据存储,在聚集查询和近似查询方面表现不俗。官网

Infinispan:针对缓存的高并发键值对数据存储。官网

发布

以本机格式发布应用程序的工具。

Bintray:发布二进制文件版本控制工具。可以于Maven或Gradle一起配合使用。提供开源免费版本和几种商业收费版本。官网

Central Repository:最大的二进制组件仓库,面向开源社区提供免费服务。Apache Maven默认使用Central 官网Repository,也可以在所有其他构建工具中使用。

IzPack:为跨平台部署建立创作工具(Authoring Tool)。官网

JitPack:打包GitHub仓库的便捷工具。可根据需要构建Maven、Gradle项目,发布可立即使用的组件。官网

Launch4j:将JAR包装为轻量级本机Windows可执行程序。官网

Nexus:支持代理和缓存功能的二进制管理工具。官网

packr:将JAR、资源和JVM打包成Windows、Linux和Mac OS X本地发布文件。官网

文档处理工具

处理Office文档的开发库。

Apache POI:支持OOXML规范(XLSX、DOCX、PPTX)以及OLE2规范(XLS、DOC、PPT)。官网

documents4j:使用第三方转换器进行文档格式转换,转成类似MS Word这样的格式。官网

jOpenDocument:处理OpenDocument格式(由Sun公司提出基于XML的文档格式)。官网

函数式编程

函数式编程支持库。

Cyclops:支持一元(Monad)操作和流操作工具类、comprehension(List语法)、模式匹配、trampoline等特性。官网

Fugue:Guava的函数式编程扩展。官网

Functional Java:实现了多种基础和高级编程抽象,用来辅助面向组合开发(composition-oriented development)。官网

Javaslang:一个函数式组件库,提供持久化数据类型和函数式控制结构。官网

jOOλ:旨在填补Java 8 lambda差距的扩展,提供了众多缺失的类型和一组丰富的顺序流API。官网

游戏开发

游戏开发框架。

jMonkeyEngine:现代3D游戏开发引擎。官网

libGDX:全面的跨平台高级框架。官网

LWJGL:对OpenGL/CL/AL等技术进行抽象的健壮框架。官网

GUI

现代图形化用户界面开发库。

JavaFX:Swing的后继者。官网

Scene Builder:开发JavaFX应用的可视化布局工具。官网

高性能计算

涵盖了从集合到特定开发库的高性能计算相关工具。

Agrona:高性能应用中常见的数据结构和工具方法。官网

Disruptor:线程间消息传递开发库。官网

fastutil:快速紧凑的特定类型集合(Collection)。官网

GS Collections:受Smalltalk启发的集合框架。官网

HPPC:基础类型集合。官网

Javolution:实时和嵌入式系统的开发库。官网

JCTools:JDK中缺失的并发工具。官网

Koloboke:Hash set和hash map。官网

Trove:基础类型集合。官网

High-scale-bli:Cliff Click 个人开发的高性能并发库官网

IDE

简化开发的集成开发环境。

Eclipse:老牌开源项目,支持多种插件和编程语言。官网

IntelliJ IDEA:支持众多JVM语言,是安卓开发者好的选择。商业版主要针对企业客户。官网

NetBeans:为多种技术提供集成化支持,包括Java SE、Java EE、数据库访问、HTML5

Imgscalr:纯Java 2D实现,简单、高效、支持硬件加速的图像缩放开发库。官网

Picasso:安卓图片下载和图片缓存开发库。官网

Thumbnailator:Thumbnailator是一个高质量Java缩略图开发库。官网

ZXing:支持多种格式的一维、二维条形码图片处理开发库。官网

im4java: 基于ImageMagick或GraphicsMagick命令行的图片处理开发库,基本上ImageMagick能够支持的图片格式和处理方式都能够处理。官网

Apache Batik:在Java应用中程序以SVG格式显示、生成及处理图像的工具集,包括SVG解析器、SVG生成器、SVG DOM等模块,可以集成使用也可以单独使用,还可以扩展自定义的SVG标签。官网

JSON

简化JSON处理的开发库。

Genson:强大且易于使用的Java到JSON转换开发库。官网

Gson:谷歌官方推出的JSON处理库,支持在对象与JSON之间双向序列化,性能良好且可以实时调用。官网

Jackson:与GSON类似,在频繁使用时性能更佳。官网

LoganSquare:基于Jackson流式API,提供对JSON解析和序列化。比GSON与Jackson组合方式效果更好。官网

Fastjson:一个Java语言编写的高性能功能完善的JSON库。官网

Kyro:快速、高效、自动化的Java对象序列化和克隆库。官网

JVM与JDK

目前的JVM和JDK实现。

JDK 9:JDK 9的早期访问版本。官网

OpenJDK:JDK开源实现。官网

基于JVM的语言

除Java外,可以用来编写JVM应用程序的编程语言。

Scala:融合了面向对象和函数式编程思想的静态类型编程语言。官网

Groovy:类型可选(Optionally typed)的动态语言,支持静态类型和静态编译。目前是一个Apache孵化器项目。官网

Clojure:可看做现代版Lisp的动态类型语言。官网

Ceylon:RedHat开发的面向对象静态类型编程语言。官网

Kotlin:JetBrain针对JVM、安卓和浏览器提供的静态类型编程语言。官网

Xtend:一种静态编程语言,能够将其代码转换为简洁高效的Java代码,并基于JVM运行。官网

日志

记录应用程序行为日志的开发库。

Apache Log4j 2:使用强大的插件和配置架构进行完全重写。官网

kibana:分析及可视化日志文件。官网

Logback:强健的日期开发库,通过Groovy提供很多有趣的选项。官网

logstash:日志文件管理工具。官网

Metrics:通过JMX或HTTP发布参数,并且支持存储到数据库。官网

SLF4J:日志抽象层,需要与具体的实现配合使用。官网

机器学习

提供具体统计算法的工具。其算法可从数据中学习。

Apache Flink:快速、可靠的大规模数据处理引擎。官网

Apache Hadoop:在商用硬件集群上用来进行大规模数据存储的开源软件框架。官网

Apache Mahout:专注协同过滤、聚类和分类的可扩展算法。官网

Apache Spark:开源数据分析集群计算框架。官网

DeepDive:从非结构化数据建立结构化信息并集成到已有数据库的工具。官网

Deeplearning4j:分布式多线程深度学习开发库。官网

H2O:用作大数据统计的分析引擎。官网

Weka:用作数据挖掘的算法集合,包括从预处理到可视化的各个层次。官网

QuickML:高效机器学习库。官网、GitHub

消息传递

在客户端之间进行消息传递,确保协议独立性的工具。

Aeron:高效可扩展的单播、多播消息传递工具。官网

Apache ActiveMQ:实现JMS的开源消息代理(broker),可将同步通讯转为异步通讯。官网

Apache Camel:通过企业级整合模式(Enterprise Integration Pattern EIP)将不同的消息传输API整合在一起。官网

Apache Kafka:高吞吐量分布式消息系统。官网

Hermes:快速、可靠的消息代理(Broker),基于Kafka构建。官网

JBoss HornetQ:清晰、准确、模块化,可以方便嵌入的消息工具。官网

JeroMQ:ZeroMQ的纯Java实现。官网

Smack:跨平台XMPP客户端函数库。官网

Openfire:是开源的、基于XMPP、采用Java编程语言开发的实时协作服务器。 Openfire安装和使用都非常简单,并可利用Web界面进行管理。 官网GitHub

Spark:是一个开源,跨平台IM客户端。它的特性支持集组聊天,电话集成和强大安全性能。如果企业内部部署IM使用Openfire+Spark是最佳的组合。 官网 GitHub

Tigase: 是一个轻量级的可伸缩的 Jabber/XMPP 服务器。无需其他第三方库支持,可以处理非常高的复杂和大量的用户数,可以根据需要进行水平扩展。 官网

杂项

未分类其它资源。

Design Patterns:实现并解释了最常见的设计模式。官网

Jimfs:内存文件系统。官网

Lanterna:类似curses的简单console文本GUI函数库。官网

LightAdmin:可插入式CRUD UI函数库,可用来快速应用开发。官网

OpenRefine:用来处理混乱数据的工具,包括清理、转换、使用Web Service进行扩展并将其关联到数据库。官网

RoboVM:Java编写原生iOS应用。官网

Quartz:强大的任务调度库.官网

应用监控工具

监控生产环境中应用程序的工具。

AppDynamics:性能监测商业工具。官网

JavaMelody:性能监测和分析工具。官网

Kamon:Kamon用来监测在JVM上运行的应用程序。官网

New Relic:性能监测商业工具。官网

SPM:支持对JVM应用程序进行分布式事务追踪的性能监测商业工具。官网

Takipi:产品运行时错误监测及调试商业工具。官网

原生开发库

用来进行特定平台开发的原生开发库。

JNA:不使用JNI就可以使用原生开发库。此外,还为常见系统函数提供了接口。官网

自然语言处理

用来专门处理文本的函数库。

Apache OpenNLP:处理类似分词等常见任务的工具。官网

CoreNLP:斯坦佛CoreNLP提供了一组基础工具,可以处理类似标签、实体名识别和情感分析这样的任务。官网

LingPipe:一组可以处理各种任务的工具集,支持POS标签、情感分析等。官网

Mallet:统计学自然语言处理、文档分类、聚类、主题建模等。官网

网络

网络编程函数库。

Async Http Client:异步HTTP和WebSocket客户端函数库。官网

Grizzly:NIO框架,在Glassfish中作为网络层使用。官网

Netty:构建高性能网络应用程序开发框架。官网

OkHttp:一个Android和Java应用的HTTP+SPDY客户端。官网

Undertow:基于NIO实现了阻塞和非阻塞API的Web服务器,在WildFly中作为网络层使用。官网

ORM

处理对象持久化的API。

Ebean:支持快速数据访问和编码的ORM框架。官网

EclipseLink:支持许多持久化标准,JPA、JAXB、JCA和SDO。官网

Hibernate:广泛使用、强健的持久化框架。Hibernate的技术社区非常活跃。官网

MyBatis:带有存储过程或者SQL语句的耦合对象(Couples object)。官网

OrmLite:轻量级开发包,免除了其它ORM产品中的复杂性和开销。官网

Nutz:另一个SSH。官网,Github

JFinal:JAVA WEB + ORM框架。官网,Github

PDF

用来帮助创建PDF文件的资源。

Apache FOP:从XSL-FO创建PDF。官网

Apache PDFBox:用来创建和操作PDF的工具集。官网

DynamicReports:JasperReports的精简版。官网

flyingsaucer:XML/XHTML和CSS 2.1渲染器。官网

iText:一个易于使用的PDF函数库,用来编程创建PDF文件。注意,用于商业用途时需要许可证。官网

JasperReports:一个复杂的报表引擎。官网

性能分析

性能分析、性能剖析及基准测试工具。

jHiccup:提供平台中JVM暂停的日志和记录。官网

JMH:JVM基准测试工具。官网

JProfiler:商业分析器。官网

LatencyUtils:测量和报告延迟的工具。官网

VisualVM:对运行中的应用程序信息提供了可视化界面。官网

YourKit Java Profiler:商业分析器。官网

响应式开发库

用来开发响应式应用程序的开发库。

Reactive Streams:异步流处理标准,支持非阻塞式反向压力(backpressure)。官网

Reactor:构建响应式快速数据(fast-data)应用程序的开发库。官网

RxJava:通过JVM可观察序列(observable sequence)构建异步和基于事件的程序。官网

REST框架

用来创建RESTful 服务的框架。

Dropwizard:偏向于自己使用的Web框架。用来构建Web应用程序,使用了Jetty、Jackson、Jersey和Metrics。官网

Feign:受Retrofit、JAXRS-2.0和WebSocket启发的HTTP客户端连接器(binder)。官网

Jersey:JAX-RS参考实现。官网

RESTEasy:经过JAX-RS规范完全认证的可移植实现。官网

RestExpress:一个Java类型安全的REST客户端。官网

RestX:基于注解处理和编译时源码生成的框架。官网

Retrofit:类型安全的REST客户端。官网

Spark:受到Sinatra启发的Java REST框架。官网

Swagger:Swagger是一个规范且完整的框架,提供描述、生产、消费和可视化RESTful Web Service。官网

Blade:国人开发的一个轻量级的MVC框架. 它拥有简洁的代码,优雅的设计。官网

科学计算与分析

用于科学计算和分析的函数库。

DataMelt:用于科学计算、数据分析及数据可视化的开发环境。官网

JGraphT:支持数学图论对象和算法的图形库。官网

JScience:用来进行科学测量和单位的一组类。官网

搜索引擎

文档索引引擎,用于搜索和分析。

Apache Solr:一个完全的企业搜索引擎。为高吞吐量通信进行了优化。官网

Elasticsearch:一个分布式、支持多租户(multitenant)全文本搜索引擎。提供了RESTful Web接口和无schema的JSON文档。官网

Apache Lucene:是一个开放源代码的全文检索引擎工具包,是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,部分文本分析引擎。官网

安全

用于处理安全、认证、授权或会话管理的函数库。

Apache Shiro:执行认证、授权、加密和会话管理。官网

Bouncy Castle,涵盖了从基础的帮助函数到PGP/SMIME操作。官网:多途加密开发库。支持JCA提供者(JCA provider)

Cryptomator:在云上进行客户端跨平台透明加密。官网

Keycloak:为浏览器应用和RESTful Web Service集成SSO和IDM。目前还处于beta版本,但是看起来非常有前途。官网

PicketLink:PicketLink是一个针对Java应用进行安全和身份认证管理的大型项目(Umbrella Project)。官网

序列化

用来高效处理序列化的函数库。

FlatBuffers:高效利用内存的序列化函数库,无需解包和解析即可高效访问序列化数据。官网

Kryo:快速、高效的对象图形序列化框架。官网

FST:提供兼容JDK的高性能对象图形序列化。官网

MessagePack:一种高效的二进制序列化格式。官网

应用服务器

用来部署应用程序的服务器。

Apache Tomcat:针对Servlet和JSP的应用服务器,健壮性好且适用性强。官网

Apache TomEE:Tomcat加Java EE。官网

Jetty:轻量级、小巧的应用服务器,通常会嵌入到项目中。官网

WebSphere Liberty:轻量级、模块化应用服务器,由IBM开发。官网

WildFly:之前被称作JBoss,由Red Hat开发。支持很多Java EE功能。官网

模板引擎

在模板中替换表达式的工具。

Apache Velocity:提供HTML页面模板、email模板和通用开源代码生成器模板。官网

FreeMarker:通用模板引擎,不需要任何重量级或自己使用的依赖关系。官网

Handlebars.java:使用Java编写的模板引擎,逻辑简单,支持语义扩展(semantic Mustache)。官网

Thymeleaf:旨在替换JSP,支持XML文件的工具。官网

测试

测试内容从对象到接口,涵盖性能测试和基准测试工具。

Apache JMeter:功能性测试和性能评测。官网

Arquillian:集成测试和功能行测试平台,集成Java EE容器。官网

AssertJ:支持流式断言提高测试的可读性。官网

Awaitility:用来同步异步操作的DSL。官网

Cucumber:BDD测试框架。官网

Gatling:设计为易于使用、可维护的和高性能负载测试工具。官网

Hamcrest:可用来灵活创建意图(intent)表达式的匹配器。官网

JMockit:用来模拟静态、final方法等。官网

JUnit:通用测试框架。官网

Mockito:在自动化单元测试中创建测试对象,为TDD或BDD提供支持。官网

PowerMock: 支持模拟静态方法、构造函数、final类和方法、私有方法以及移除静态初始化器的模拟工具。官网

REST Assured:为REST/HTTP服务提供方便测试的Java DSL。官网

Selenide:为Selenium提供精准的周边API,用来编写稳定且可读的UI测试。官网

Selenium:为Web应用程序提供可移植软件测试框架。官网

Spock:JUnit-compatible framework featuring an expressive Groovy-derived specification language.官网兼容JUnit框架,支持衍生的Groovy范的语言。

TestNG:测试框架。官网

Truth:Google的断言和命题(proposition)框架。官网

Unitils:模块化测试函数库,支持单元测试和集成测试。官网

WireMock:Web Service测试桩(Stub)和模拟函数。官网

通用工具库

通用工具类函数库。

Apache Commons:提供各种用途的函数,比如配置、验证、集合、文件上传或XML处理等。官网

args4j:命令行参数解析器。官网

CRaSH:为运行进行提供CLI。官网

Gephi:可视化跨平台网络图形化操作程序。官网

Guava:集合、缓存、支持基本类型、并发函数库、通用注解、字符串处理、I/O等。官网

JADE:构建、调试多租户系统的框架和环境。官网

javatuples:正如名字表示的那样,提供tuple支持。尽管目前tuple的概念还有留有争议。官网

JCommander:命令行参数解析器。官网

Protégé:提供存在论(ontology)编辑器以及构建知识系统的框架。官网

网络爬虫

用于分析网站内容的函数库。

Apache Nutch:可用于生产环境的高度可扩展、可伸缩的网络爬虫。官网

Crawler4j:简单的轻量级网络爬虫。官网

JSoup:刮取、解析、操作和清理HTML。官网

Web框架

用于处理Web应用程序不同层次间通讯的框架。

Apache Tapestry:基于组件的框架,使用Java创建动态、强健的、高度可扩展的Web应用程序。官网

Apache Wicket:基于组件的Web应用框架,与Tapestry类似带有状态显示GUI。官网

Google Web Toolkit:一组Web开发工具集,包含在客户端将Java代码转为JavaScript的编译器、XML解析器、RCP 官网API、JUnit集成、国际化支持和GUI控件。

Grails:Groovy框架,旨在提供一个高效开发环境,使用约定而非配置、没有XML并支持混入(mixin)。官网

Ninja:Java全栈Web开发框架。非常稳固、快速和高效。官网

Pippo:小型、高度模块化的类Sinatra框架。官网

Play:使用约定而非配置,支持代码热加载并在浏览器中显示错误。官网

PrimeFaces:JSF框架,提供免费和带支持的商业版本。包括若干前端组件。官网

Ratpack:一组Java开发函数库,用于构建快速、高效、可扩展且测试完备的HTTP应用程序。官网

Spring Boot:微框架,简化了Spring新程序的开发过程。官网

Spring:旨在简化Java EE的开发过程,提供依赖注入相关组件并支持面向切面编程。官网

Vaadin:基于GWT构建的事件驱动框架。使用服务端架构,客户端使用Ajax。官网

Blade:国人开发的一个轻量级的MVC框架. 它拥有简洁的代码,优雅的设计。官网

业务流程管理套件

流程驱动的软件系统构建。

jBPM:非常灵活的业务流程管理框架,致力于构建开发与业务分析人员之间的桥梁。官网

Activity:轻量级工作流和业务流程管理框架。官网 github

资源

社区

目前java开发哪个开发工具最好用

常见的十四种Java开发工具的特点

1、JDK(JavaDevelopmentKit)Java开发工具集

从初学者角度来看,采用JDK开发Java程序能够很快理解程序中各部分代码之间的关系,有利于理解Java面向对象的设计思想。JDK的另一个显著特点是随着Java(J2EE、J2SE以及J2ME)版本的升级而升级。但它的缺点也是非常明显的就是从事大规模企业级Java应用开发非常困难,不能进行复杂的Java软件开发,也不利于团体协同开发。

2、JavaWorkshop

3、NetBeans与SunJavaStudio5

NetBeans是开放源码的Java集成开发环境(IDE),适用于各种客户机和Web应用。

SunJavaStudio是Sun公司最新发布的商用全功能JavaIDE,支持Solaris、Linux和Windows平台,适于创建和部署2层JavaWeb应用和n层J2EE应用的企业开发人员使用。NetBeans是业界第一款支持创新型Java开发的开放源码IDE。开发人员可以利用业界强大的开发工具来构建桌面、Web或移动应用。同时,通过NetBeans和开放的API的模块化结构,第三方能够非常轻松地扩展或集成NetBeans平台。NetBeans3.5.1主要针对一般Java软件的开发者,而JavaOneStudio5则主要针对企业做网络服务等应用的开发者。Sun不久还将推出ProjectRave,其目标是帮助企业的开发者进行软件开发。NetBeans3.5.1版本与其他开发工具相比,最大区别在于不仅能够开发各种台式机上的应用,而且可以用来开发网络服务方面的应用,可以开发基于J2ME的移动设备上的应用等。在NetBeans3.5.1基础上,Sun开发出了JavaOneStudio5,为用户提供了一个更加先进的企业编程环境。在新的JavaOneStudio5里有一个应用框架,开发者可以利用这些模块快速开发自己在网络服务方面的各种应用程序。

4、Borland的JBuilder

Jbuilder进入了Java集成开发环境的王国,它满足很多方面的应用,尤其是对于服务器方以及EJB开发者们来说。下面简单介绍一下Jbuilder的特点:

1)Jbuilder支持最新的Java技术,包括Applets、JSP/Servlets、JavaBean以及EJB(EnterpriseJavaBeans)的应用。

2)用户可以自动地生成基于后端数据库表的EJBJava类,Jbuilder同时还简化了EJB的自动部署功能.此外它还支持CORBA,相应的向导程序有助于用户全面地管理IDL(分布应用程序所必需的接口定义语言InterfaceDefinitionLanguage)和控制远程对象。

3)Jbuilder支持各种应用服务器。Jbuilder与InpriseApplicationServer紧密集成,同时支持WebLogicServer,支持EJB1.1和EJB2.0,可以快速开发J2EE的电子商务应用。

4)Jbuilder能用Servlet和JSP开发和调试动态Web应用。

5)利用Jbuilder可创建(没有专有代码和标记)纯Java2应用。由于Jbuilder是用纯Java语言编写的,其代码不含任何专属代码和标记,它支持最新的Java标准。

6)Jbuilder拥有专业化的图形调试介面,支持远程调试和多线程调试,调试器支持各种JDK版本,包括J2ME/J2SE/J2EE。JBuilder环境开发程序方便,它是纯的Java开发环境,适合企业的J2EE开发;缺点是往往一开始人们难于把握整个程序各部分之间的关系,对机器的硬件要求较高,比较吃内存,这时运行速度显得较慢。

5、Oracle的JDeveloper

Oracle9iJDeveloper(定为9.0版,最新为10g)为构建具有J2EE功能,XML和Webservices的复杂的,多层的Java应用程序提供了一个完全集成的开发环境。它为运用Oracle9i数据库和应用服务器的开发人员提供特殊的功能和增强性能,除此以外,它也有资格成为用于多种用途Java开发的一个强大的工具。

Oracle9iJDeveloper的主要特点如下:

①具有UML(UnifiedModelingLanguage,一体化建模语言)建模功能。可以将业务对象及e-business应用模型化。

②配备有高速Java调试器(Debuger)、内置Profiling工具、提高代码质量的工具“CodeCoach”等。

③支持SOAP(SimpleObjectAccessProtocol)“简单对象访问协议”、UDDI(UniversalDescription,DiscoveryandIntegration)“统一描述、发现和集成协议”

、WSDL(WebServicesDescriptionLanguage)“WEB服务描述语言”等Web服务标准。JDeveloper不仅仅是很好的Java编程工具,而且是OracleWeb服务的延伸,支持ApacheSOAP,以及9iAS,可扩充的环境和XML和WSDL语言紧密相关。Oracle9iJdeveloper完全利用Java编写,能够与以前的Oracle服务器软件以及其他厂商支持J2EE的应用服务器产品相兼容,而且在设计时着重针对Oracle9i,能够无缝化跨平台之间的应用开发,提供了业界第一个完整的、集成了J2EE和XML的开发环境,允许开发者快速开发可以通过Web、无线设备及语音界面访问的Web服务和交易应用,以往只能通过将传统Java编程技巧与最新模块化方式结合到一个单一集成的开发环境中之后才能完成J2EE应用开发生命周期管理的事实,从根本上得到改变。缺点就是对于初学者来说,较复杂,也比较难。

6、IBM的VisualAgeforJava

VisualAgeforJava是一个非常成熟的开发工具,它的特性以于IT开发者和业余的Java编程人员来说都是非常用有用的。它提供对可视化编程的广泛支持,支持利用CICS连接遗传大型机应用,支持EJB的开发应用,支持与Websphere的集成开发,方便的bean创建和良好的快速应用开发(RAD)支持和无文件式的文件处理。

IBM为建设Web站点所推出的WebSphereStudioAdvancedEdition及其包含的Visual

AgeforJavaProfessionalEdition软件已全面转向以Java为中心,这样,Java开发人员对WebSphere全套工具的感觉或许会好了许多。Studio所提供的工具有:Web站点管理、快速开发JDBC页向导程序、HTML编辑器和HTML语法检查等。这确实是个不错的HTML站点页面编辑环境。Studio和VisualAge集成度很高,菜单中提供了在两种软件包之间快速移动代码的选项。这就让使用Studio的Web页面设计人员和使用VisualAge的Java程序员

可以相互交换文件、协同工作。VisualAgeforJava支持团队开发,内置的代码库可以自动地根据用户做出改动而修改程序代码,这样就可以很方便地将目前代码和早期版本做出比较。与VisualAge紧密结合的WebsphereStudio本身并不提供源代码和版本管理的支持,它只是包含了一个内置文件锁定系统,当编辑项目的时候可以防止其他人对这些文件的错误修改,软件还支持诸如MicrosoftVisualSourceSafe这样的第三方源代码控制系统。VisualAgeforJava完全面向对象的程序设计思想使得开发程序非常快速、高效。你可以不编写任何代码就可以设计出一个典型的应用程序框架。VisualAgeforJava作为IBM电子商务解决方案其中产品之一,可以无缝地与其他IBM产品,如WebSphere、DB2融合,迅速完成从设计、开发到部署应用的整个过程。VisualAgeforJava独特的管理文件方式使其集成外部工具非常困难,你无法让VisualAgeforJava与其他工具一起联合开发应用。

7、BEA的WebLogicWorkshop

BEAWebLogicWorkshop是一个统一、简化、可扩展的开发环境,使所有的开发人员都能在BEAWebLogicEnterprisePlatform之上构建基于标准的企业级应用,从而提高了开发部门的生产力水平,加快了价值的实现。WebLogicWorkshop除了提供便捷的Web服务之外,它能够用于创建更多种类的应用。作为整个BEAWebLogicPlatform的开发环境。不管是创建门户应用、编写工作流、还是创建Web应用,Workshop8.1都可以帮助开发人员更快更好地完成。WebLogicWorkshop的主要特点如下:

①使J2EE开发切实可行,提高开发效率

BEAWebLogicWorkshop使开发人员远离J2EE内在的复杂性,集中精力专注业务逻辑,无须操心单调乏味的基础结构代码。这种创新意味着,已被企业验证的J2EE的强大功能,最终被大多数不熟悉Java和J2EE的应用开发人员所掌握,从而使IT部门的工作效率提高一个数量级。可视化设计器以及直观的概念,如事件、属性和控件等,实现了基于事件的开发。Workshop简化的程序设计模型,使开发人员不必掌握复杂的J2EEAPI和面向对象的程序设计原理。所有开发人员,包括J2EE专家和具有可视化和过程化语言技能的应用开发人员在内,都可以共同工作在BEAWebLogicEnterprisePlatform之上。Workshop的可视化开发环境,创建带有代码注释的标准Java文件,用来说明由运行时框架实施的企业级需求。J2EE和其他高级开发人员,借助功能强大的代码编辑功能,可以访问Java源代码,从而弥补了可视化设计器的不足。

②构建企业级应用

通过在可伸缩、安全可靠的企业级架构上实施各种应用,BEAWebLogicWorkshop大大降低了开发风险。而且,所有应用的创建都使用标准的J2EE组件,既保护了您的技术投资,又保持了最大的灵活性。BEAWebLogicWorkshop运行框架,是统一整个架构的汇聚层,使单一、简化的程序设计模型扩展到所有的BEAWebLogicEnterprisePlatform应用类型。通过解释设计时创建的注释代码,运行时框架可以实现必要的J2EE组件,并且提取出与J2EE应用开发有关的所有底层细节。

③降低IT复杂性BEAWebLogicWorkshop提供各种Java控件,使得与IT资源的连接更轻而易举。另外,在构建任何BEAWebLogicPlatform的应用中,Java控件不仅可扩展而且完全相同。这种强大、有效的方法能够:降低IT技术的复杂性,优化信息的可用性,推动包含"最佳业务方案"的可重用服务的开发,使开发人员能以更低的成本、更短的时间实现更大的产出。

利用BEAWebLogicWorkshop,任何开发人员都能以最大的生产效率,构建各种Web服务、Web应用、门户和集成项目。BEAWebLogicWorkshop是BEA的产品战略核心,它帮助客户接触和利用面向服务架构(SOA)的强大功能。BEAWeblogicWorkshop8.1极大简化了当前实际企业集成环境中企业级应用和服务的构建,并成为全面支持关键企业级应用(如异步、真正松耦合和粗粒度消息传送等)的自然选择。它的缺点就是过于复杂,对于初学者来说,理解起来较为困难。

8、WebGain的VisualCafeforJavaVisualCafe是只能在Symantec公司的Java虚拟机、Netscape公司的Java虚拟机和Microsoft虚拟机上工作的调试器。这对于开发者来讲是一个重要的特性,因为用户开发的Java代码中的许多软件bug就可能中会在某种特定的虚拟机上起作用。在修改后进行编译基继续进行调试时,VisualCafe会自动将文件存盘,使用VisualCafe创建的原生应用具有许多特点。除了明显的速度提高之外,Symantec使类库的二进制方式比正常的JDK小VisualCafe为所指定的关系自动生成或更新必要的Java代码。利用VisualCafe,用户可以从一个标准对象数据库中集合完整的Java应用程序和Applet,而不必再编写源代码。VisualCafe还提供了一个扩充的源代码开发工具集。VisualCafe综合了Java软件的可视化源程序开发工具,它允许开发人员在可视化视图和源视图之间进行有效地转换。在可视化视图中进行的修改立即反映在源代码中。对源代码的改变自动更新可视化视图。VisualCafe具有许多源文件方面的特性,如全局检索和替换。绝大多数Java开发工具的文献的问题在于简单地挨个介绍开发工具的每部分组件,但用户在开应用时还需要一个面向任务的手册,利用这个手册你可以不必知道工具每一部分的特定功能就可以开始创建自己的应用。VisualCafe提供了非常全面的用户指南,它对最开始的安装到创建第一个Java应用和Applet都提供了全面的帮助,VisualCafe将自动生成所指明关系的必要Java代码。VisualCafe可以在Windows95和WindowsNT平台下运行,Symantec公司为Java开发工作提供一个在Macintosh操作系统下可以运行的RAD工具。VisualCafe编译器速度很快,在国际化支持方面比较突出;缺点就是对于初学者来说,较复杂,也比较难。

9、Macromedia的JRUN

Macromedia公司的JRun是一个具有最广阔适用性的Java引擎,用于开发及实施由JavaServlets和JavaServerPages编写的服务器端Java应用。JRun是第一个完全支持JSP1.0规格书的商业化产品,全球有超过80,000名开发人员使用JRun在他们已有的Web服务器上添加服务器端Java的功能。其中Web服务器包括了MicrosoftIIS,NetscapeEnterpriseServer,Apache等。JRun是开发实施服务器端Java的先进引擎。如果我们希望在我们的Web应用中添加服务器端Java功能,那么JRun将成为我们的正确选择。JRun目前有3个版本,它是第一个支持JavaServerPages(JSP)规格书1.0的商业化产品。JSP是一种强大的服务器端技术,它是用于创建复杂Web应用的一整套快速应用开发系统。JRun可以使我们开始开发并测试Java应用。它最多接受5个并发的连接并且包括全部JavaServletAPI,支持JavaServerPages(JSP),支持所有主要的Webservers和计算机平台。JRunPro能够在生产环境下承受大访问量的负载,帮助我们实施应用、服务或Web站点(包括内联网)。JRunPro支持无限量并发式连接运行多个Java虚拟机,包括多个并发的Java虚拟机(JVM)。提供一个远程管理applet以及一个远程可再分布式的管理applet。JRunProUnlimited包括了所有JRunPro的功能,除次以外,还可以运行无限量的,并发的JVM。JRun依靠其内置的JRunWebServer可以单独运行。使用服务器端Java,用户可以开发出复杂的商业应用系统。最重要的一点是,由于servlets的平台独立性,以及更加简单的开发、更快速的实施、更经济的维护成本,它是CGI(CommonGatewayInterface)或Perlscripts的极佳的替代产品。缺点就是对于初学者来说,较复杂,也比较难。10、JCreator

JCreator是一个Java程序开发工具,也是一个Java集成开发环境(IDE)。无论你是要开发Java应用程序或者网页上的Applet元件都难不倒它。在功能上与Sun公司所公布的JDK等文字模式开发工具相较之下来得容易,还允许使用者自订义操作窗口界面及无限Undo/Redo等功能。JCreator为用户提供了相当强大的功能,例如项目管理功能,项目模板功能,可个性化设置语法高亮属性、行数、类浏览器、标签文档、多功能编绎器,向导功能以及完全可自定义的用户界面。通过JCreator,我们不用激活主文档而直接编绎或运行我们的JAVA程序。JCreator能自动找到包含主函数的文件或包含Applet的Html文件,然后它会运行适当的工具。在JCreator中,我们可以通过一个批处理同时编绎多个项目。JCreator的设计接近Windows界面风格,用户对它的界面比较熟悉。其最大特点是与我们机器中所装的JDK完美结合,是其它任何一款IDE所不能比拟的。它是一种初学者很容易上手的java开发工具,缺点是只能进行简单的程序开发,不能进行企业J2EE的开发应用。

11、MicrosoftVJ++

VisualJ++是Microsoft公司推出的可视化的Java语言集成开发环境(IDE),为Java编程人员提供了一个新的开发环境,是一个相当出色的开发工具。无论集成性、编译速度、调试功能、还是易学易用性,都体现了Microsoft的一惯风格。VisualJ++具有

下面的特点:

1)VisualJ++把Java虚拟机(JVM)作为独立的操作系统组件放入Windows,使之从浏览器中独立出来。

2)Microsoft的应用基本类库(AFC,ApplicationFoundationClassLibrary)对SUN公司的JDK作了扩展,使应用基本类库更加适合在Windows下使用。

3)VisualJ++的调试器支持动态调试,包括单步执行、设置断点、观察变量数值等。

4)VisualJ++提供了一些程序向导(Wizards)和生成器(Builders),它们可以方便地帮助用户快速地生成Java程序,帮助你在自己的工程中创建和修改文件。

5)VisualJ++界面友好,其代码编辑器具有智能感知、联机编译等功能,使程序编写十分方便。VisualJ++中建立了Java的WFC,这一新的应用程序框架能够直接访问Windows应用程序接口(API),使你能够用Java语言编写完全意义上的Windows应用程序。

6)VisualJ++中表单设计器的快速应用开发特性使用WFC创建基于表单的应用程序变得轻松、简单。通过WFC可以方便地使用ActiveX数据对象(ADO,ActiveXDataObjects)来检索数据和执行简单数据的绑定。通过在表单设计器中使用ActiveX数据对象,可以快速地在表单中访问和显示数据。VisualJ++能结合微软的一贯的编程风格,很方便进行Java的应用开发,但它的移植性较差,不是纯的Java开发环境。

12、Eclipse

Eclipse是一种可扩展的开放源代码IDE。2001年11月,IBM公司捐出价值4,000万美元的源代码组建了Eclipse联盟,并由该联盟负责这种工具的后续开发。集成开发环境(IDE)经常将其应用范围限定在“开发、构建和调试”的周期之中。为了帮助集成开发环境(IDE)克服目前的局限性,业界厂商合作创建了Eclipse平台。Eclipse允许在同一IDE中集成来自不同供应商的工具,并实现了工具之间的互操作性,从而显著改变了项目工作流程,使开发者可以专注在实际的嵌入式目标上。Eclipse框架的这种灵活性来源于其扩展点。它们是在XML中定义的已知接口,并充当插件的耦合点。扩展点的范围包括从用在常规表述过滤器中的简单字符串,到一个Java类的描述。任何Eclipse插件定义的扩展点都能够被其它插件使用,反之,任何Eclipse插件也可以遵从其它插件定义的扩展点。除了解由扩展点定义的接口外,插件不知道它们通过扩展点提供的服务将如何被使用。利用Eclipse,我们可以将高级设计(也许是采用UML)与低级开发工具(如应用调试器等)结合在一起。如果这些互相补充的独立工具采用Eclipse扩展点彼此连接,那么当我们用调试器逐一检查应用时,UML对话框可以突出显示我们正在关注的器件。事实上,由于Eclipse并不了解开发语言,所以无论Java语言调试器、C/C++调试器还是汇编调试器都是有效的,并可以在相同的框架内同时瞄准不同的进程或节点。Eclipse的最大特点是它能接受由Java开发者自己编写的开放源代码插件,这类似于微软公司的VisualStudio和Sun微系统公司的NetBeans平台。Eclipse为工具开发商提供了更好的灵活性,使他们能更好地控制自己的软件技术。Eclipse联盟已经宣布将在2004年中期发布其3.0版软件。这是一款非常受欢迎的java开发工具,这国内的用户越来越多,实际上实用它java开发人员是最多的。缺点就是较复杂,对初学者来说,理解起来比较困难。

java代码生成器怎么用

zip包,然后自动下载下来

1.预先定义好模板

2.界面输入相关参数

3.解析模板生成代码并下载

最后放出源代码:

package com.et.controller.system.createcode;

import java.util.ArrayList;

import java.util.Date;

import java.util.HashMap;

import java.util.List;

import java.util.Map;

import javax.servlet.http.HttpServletResponse;

import org.springframework.stereotype.Controller;

import org.springframework.web.bind.annotation.RequestMapping;

import com.et.controller.base.BaseController;

import com.et.util.DelAllFile;

import com.et.util.FileDownload;

import com.et.util.FileZip;

import com.et.util.Freemarker;

import com.et.util.PageData;

import com.et.util.PathUtil;

/**

* 类名称:FreemarkerController

* 创建人:Harries

* 创建时间:2015年1月12日

* @version

*/

@Controller

@RequestMapping(value=”/createCode”)

public class CreateCodeController extends BaseController {

/**

* 生成代码

*/

@RequestMapping(value=”/proCode”)

public void proCode(HttpServletResponse response) throws Exception{

PageData pd = new PageData();

pd = this.getPageData();

/* ============================================================================================= */

String packageName = pd.getString(“packageName”); //包名 ========1

String objectName = pd.getString(“objectName”); //类名 ========2

String tabletop = pd.getString(“tabletop”); //表前缀 ========3

tabletop = null == tabletop?””:tabletop.toUpperCase(); //表前缀转大写

String zindext = pd.getString(“zindex”); //属性总数

int zindex = 0;

if(null != zindext !””.equals(zindext)){

zindex = Integer.parseInt(zindext);

}

ListString[] fieldList = new ArrayListString[](); //属性集合 ========4

for(int i=0; i zindex; i++){

fieldList.add(pd.getString(“field”+i).split(“,fh,”)); //属性放到集合里面

}

MapString,Object root = new HashMapString,Object(); //创建数据模型

root.put(“fieldList”, fieldList);

root.put(“packageName”, packageName); //包名

root.put(“objectName”, objectName); //类名

root.put(“objectNameLower”, objectName.toLowerCase()); //类名(全小写)

root.put(“objectNameUpper”, objectName.toUpperCase()); //类名(全大写)

root.put(“tabletop”, tabletop); //表前缀

root.put(“nowDate”, new Date()); //当前日期

DelAllFile.delFolder(PathUtil.getClasspath()+”admin/ftl”); //生成代码前,先清空之前生成的代码

/* ============================================================================================= */

String filePath = “admin/ftl/code/”; //存放路径

String ftlPath = “createCode”; //ftl路径

/*生成controller*/

Freemarker.printFile(“controllerTemplate.ftl”, root, “controller/”+packageName+”/”+objectName.toLowerCase()+”/”+objectName+”Controller.java”, filePath, ftlPath);

/*生成service*/

Freemarker.printFile(“serviceTemplate.ftl”, root, “service/”+packageName+”/”+objectName.toLowerCase()+”/”+objectName+”Service.java”, filePath, ftlPath);

/*生成mybatis xml*/

Freemarker.printFile(“mapperMysqlTemplate.ftl”, root, “mybatis_mysql/”+packageName+”/”+objectName+”Mapper.xml”, filePath, ftlPath);

Freemarker.printFile(“mapperOracleTemplate.ftl”, root, “mybatis_oracle/”+packageName+”/”+objectName+”Mapper.xml”, filePath, ftlPath);

/*生成SQL脚本*/

Freemarker.printFile(“mysql_SQL_Template.ftl”, root, “mysql数据库脚本/”+tabletop+objectName.toUpperCase()+”.sql”, filePath, ftlPath);

Freemarker.printFile(“oracle_SQL_Template.ftl”, root, “oracle数据库脚本/”+tabletop+objectName.toUpperCase()+”.sql”, filePath, ftlPath);

/*生成jsp页面*/

Freemarker.printFile(“jsp_list_Template.ftl”, root, “jsp/”+packageName+”/”+objectName.toLowerCase()+”/”+objectName.toLowerCase()+”_list.jsp”, filePath, ftlPath);

Freemarker.printFile(“jsp_edit_Template.ftl”, root, “jsp/”+packageName+”/”+objectName.toLowerCase()+”/”+objectName.toLowerCase()+”_edit.jsp”, filePath, ftlPath);

/*生成说明文档*/

Freemarker.printFile(“docTemplate.ftl”, root, “说明.doc”, filePath, ftlPath);

//this.print(“oracle_SQL_Template.ftl”, root); 控制台打印

/*生成的全部代码压缩成zip文件*/

FileZip.zip(PathUtil.getClasspath()+”admin/ftl/code”, PathUtil.getClasspath()+”admin/ftl/code.zip”);

/*下载代码*/

FileDownload.fileDownload(response, PathUtil.getClasspath()+”admin/ftl/code.zip”, “code.zip”);

}

}

Java开发工具哪个好

1.Eclipse

尽管IntelliJ IDEA、NetBeans和一些其他的IDE正在日益普及,但是有调查表明,Eclipse仍然是几乎半数Java开发人员首选的开发环境。 Eclipse是IDE领域的瑞士军刀,有着大量定制的接口和无数的插件。它无处不在,后面本文将推荐的其他所有工具都提供Eclipse插件。

Eclipse的工作流程可分为三个方面:工作台,工作空间和视角。工作台作为到IDE的出发点。工作空间将项目、文件和配置设置组合在一个单独的 目录下。视角定义工具、视图和有效设置。虽然新手开发人员可能会觉得相比Netbeans和IntelliJ IDEA,Eclipse使用起来更难,但Eclipse的灵活性,使其成为企业开发的首选IDE。

Luna,Eclipse的最新版本,支持Java 8、分屏编辑、新的黑色主题,以及一个功能齐全的命令行终端。

官方网站:

2.Gradle

Gradle是一个自动化项目工具,建立在Apache Maven和Apache Ant的功能上。虽然Gradle并不是最流行的构建工具(最流行的是Maven,64%的Java开发人员会选择它),但它的普及速度很快。它也可作为默认的Android构建工具。

Gradle引以为傲的是它的简单。Gradle使用Groovy编程语言,与Maven和Ant使用XML语法截然相反。一个基本的Gradle构建文件由一行简单的代码组成:

apply plugin: 'java'.

下面的命令会生成一个Gradle构建文件,创建项目文件的目录树,并附带一个项目便携式Gradle封装:

$ gradle init --type java-library

Gradle还有可用于添加新的语言,生成支持IDE的项目文件,构建本地二进制文档,检查依赖性更新等等的插件。

想要了解更多信息,请参见Gradle的Java / JVM入门指南。

官方网站:

3.Javadoc

Javadoc是Oracle提供的文档生成器。它可以将特殊格式的注释解析为HTML文档。以下截图就是Javadoc生成的Java SE 8 API规范:

Javadoc注释使用开放标签、关闭标签,以及一个或多个描述性标签的格式。开放式标签类似于标准Java多行注释标记,使用两个星号的除外。Javadoc也解析普通的HTML标签。

Javadoc自动格式化标签和关键字,除非另有规定。Javadoc广泛使用超链接,允许你参考和链接到代码的不同区域。许多IDE——包括 Eclipse——可以自动添加Javadoc注释模块到变量、类和方法中。支持Maven、Gradle和Ant的插件在编译代码的同时也可以构建 Javadoc HTML。

想要了解更多信息,请参阅Oracle关于如何为Javadoc工具写文档注释的文章。

官方网站:

4.JUnit

JUnit是用于编写和运行单元测试的开源框架。一个基本的JUnit测试包括测试类、测试方法、以及执行测试的功能。 JUnit使用标注来确定测试如何构造和运行。例如,如果你的程序有一个类叫做MathClass,具有乘法和除法的方法,你可以创建JUnit测试来检 查不符合预期的值。输入数字2和5到乘法方法,你希望得到的结果为10。当输入0作为除法方法的第二个参数时,你会期望给出一个数字计算异常的警告因为除 数不能为0:

@Test标注规定,MathClass方法是一个测试用例。 在JUnit提供额外的标注,比如@Before,这样你就可以在测试运行之前设置环境。 JUnit还可以设置规则用于定义测试方法的行为。例如,TemporaryFolder规则使得一旦测试完成,由测试创建的文件或文件夹就会被删除。

想要了解更多信息,请参考JUnit入门。 此外还有使用JUnit单元测试的教程。

官方网站:

5.Cobertura

Cobertura可用于分析Java代码的测试覆盖率。Cobertura根据没有被测试覆盖的代码生成基于HTML的报告。

Cobertura提供可用于插装、检查和测试代码的工具。通过监控可测试的代码,Cobertura允许你使用你选择的测试框架,甚至不需要测试框架就可以运行程序。

Cobertura根据行、分支和程序包三个方面给出代码覆盖报告。每个类别都有一个可自定义的阈值,如果覆盖面低于阈值,就会触发警告。Cobertura还集成了Maven和Gradle 的自动检测功能。

Mkyong.com提供了一个将Cobertura与Maven整合的示例。

官方网站:

6.FindBugs

FindBugs是一个匹配编译代码模式,而非使用bug数据库的工具。当提供源代码时,FindBugs还可高亮显示检测出bug的代码行。

在它的3.0.1版本中,FindBugs继续保持着数以百计的bug描述。根据bug的严重程度,FindBugs将bug分为四个水平:相关 的,令人困扰的,可怕的,以及最可怕的。除了图形用户界面,FindBugs还提供一个命令行界面,Ant任务,以及Eclipse插件。

官方网站:

7.VisualVM

包含在JDK中的VisualVM是监控和审查Java应用程序性能的工具。 VisualVM检测并重视活跃的JVM实例来检索有关进程的诊断信息。

VisualVM可以很容易地实时诊断性能问题。它提供了全套的分析工具,包括JConsole、jstack、jmap、jinfo和jstat等。此外,你还可以对JVM做一个快照,这样以后在任何时都能审查。

官方网站:

8.Groovy

Groovy是一种编程语言,通过添加新的关键字,自动导入常用的类,以及可选类型变量声明,既简化又扩展了Java。

Groovy的核心优势之一是它的脚本功能。类可以被编译为Java字节码或使用Groovy Shell动态执行。Groovy的Java基础使得它相较于Jython和JRuby更容易为Java开发人员所接受。

想要了解更多信息,请参见Groovy的入门指南。

官方网站:

JeeSpringCloud-互联网云快速开发框架

(一款免费开源的JAVA互联网云快速开发平台)微服务分布式代码生成的敏捷开发系统架构。项目代码简洁,注释丰富,上手容易,还同时集中分布式、微服务,同时包含许多基础模块和监控、服务模块。

演示版地址:

一、平台简介

在线文档:

视频和文档下载:

开源中国地址:

文档视频下载:

JeeSpringCloudV3.0-互联网云快速开发框架模块包含定时任务调度、服务器监控、平台监控、异常邮件监控、服务器Down机邮件监控、平台设置、开发平台、邮件监控、图表监控、地图监控、单点登录、Redis分布式高速缓存、

ActiveMQ队列、会员、营销、在线用户、日志、在线人数、访问次数、调用次数、直接集群、接口文档、生成模块、代码实例、安装视频、教程文档、dubbo、springCloud、SpringBoot、mybatis、springmvc、IOC、AOP、定时任务、切面缓存、MVC、事务管理。

RedisMQ队列、代码生成(单表、主附表、树表、列表和表单、增删改查云接口、redis高速缓存对接代码、图表统计、地图统计、vue.js)、工作流、模块化

代码生成前端控件包括单行文本、富文本、下拉选项、复选框、日期选择、文件上传选择、树选择控件、单选按钮、多行文本….。

二、平台功能

用户管理:用户是系统操作者,该功能主要完成系统用户配置。

部门管理:配置系统组织机构(公司、部门、小组),树结构展现支持数据权限。

岗位管理:配置系统用户所属担任职务。

菜单管理:配置系统菜单,操作权限,按钮权限标识等。

角色管理:角色菜单权限分配、设置角色按机构进行数据范围权限划分。

字典管理:对系统中经常使用的一些较为固定的数据进行维护。

参数管理:对系统动态配置常用参数。

通知公告:系统通知公告信息发布维护。

操作日志:系统正常操作日志记录和查询;系统异常信息日志记录和查询。

登录日志:系统登录日志记录查询包含登录异常。

在线用户:当前系统中活跃用户状态监控。

定时任务:在线(添加、修改、删除)任务调度包含执行结果日志。

代码生成:前后端代码生成(单表、主附表、树表、列表和表单、增删改查云接口、redis高速缓存对接代码、图表统计、地图统计、vue.js) ,并生成菜单和权限直接使用。

系统接口:根据业务代码自动生成相关的api接口文档。

连接池监视:监视当期系统数据库连接池状态,可进行分析SQL找出系统性能瓶颈。

在线接口文档:使用swager生成在线文档。

ActiveMQ队列:提供ActiveMQ队列,处理批量发送大数据量邮件、大数据量日志文件。

工作流:功能包括在线办公、我的任务、审批测试、流程管理、模型管理。

CMS:功能包括内容管理、内容管理、统计分析、栏目设置、首页。

dubbo:代码生成直接生成dubbo对接代码。

服务器Down机邮件监控:通过定时任务监控服务器是否Down机,并发送通知邮件。

服务器监控:通过 sigar 进行服务器图形化监控。

异常邮件监控:全局拦截系统异常,并发送通知邮件。

单点登录:使用shior和Redis、共享session方式实现单点登录。

Redis分布式高速缓存:代码生成直接生成Redis对接代码。

三、系统截图

JeeSpringCloudV3.0-互联网云快速开发框架(后台)

四、平台特性

JeeSpringCloud基于SpringBoot+SpringMVC+Mybatis+Redis+SpringCloud+Vue.js微服务分布式代码生成的敏捷开发系统架构。项目代码简洁,注释丰富,上手容易,还同时集中分布式、微服务,同时包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块。成为大众认同、大众参与、成就大众、大众分享的开发平台。JeeSpring官方qq群(328910546)。代码生成前端界面、底层代码(spring mvc、mybatis、Spring boot、Spring Cloud、微服务的生成)、安全框架、视图框架、服务端验证、任务调度、持久层框架、数据库连接池、缓存框架、日志管理、IM等核心技术。努力用心为大中小型企业打造全方位J2EE企业级平台ORM/Redis/Service仓库开发解决方案。一个RepositoryService仓库就直接实现dubbo、微服务、基础服务器对接接口和实现。

努力用心为大中小型企业打造全方位J2EE企业级平台开发解决方案。

Spring Boot/Spring cloud微服务是利用云平台开发企业应用程序的最新技术,它是小型、轻量和过程驱动的组件。微服务适合设计可扩展、易于维护的应用程序。它可以使开发更容易,还能使资源得到最佳利用。

微服务/集群(nignx) 支持REST风格远程调用(HTTP + JSON/XML):基于非常成熟的Spring Boot框架,在Spring Boot Spring Cloud中实现了REST风格(HTTP + JSON/XML)的远程调用,以显著简化企业内部的跨语言交互,同时显著简化企业对外的Open API、无线API甚至AJAX服务端等等的开发。

事实上,这个REST调用也使得Dubbo可以对当今特别流行的“微服务”架构提供基础性支持。 另外,REST调用也达到了比较高的性能,在基准测试下,HTTP + JSON默认的RPC协议(即TCP + Hessian2二进制序列化)之间只有1.5倍左右的差距,详见下文的基准测试报告。

ORM/Redis/Service仓库

RepositoryORM仓库,提供ORM接口和多种实现,可进行配置实现。

RepositoryRedis仓库,提供Redis接口和多种实现,可进行配置实现。可以配置调用单机、redis、云redis对接。

RepositoryService仓库,提供Service接口和多种实现,可进行配置实现。一个RepositoryService仓库就直接实现dubbo、微服务、基础服务器对接接口和实现。

五、架构说明

技术选型

六、代码生成器

代码生成器

七、开发入门

平台教程:

官方提供:

1、详细部署文档。

2、部署视频。

3、中级培训视频待定,包括代码生成、架构代码介绍。

4、高级培训视频待定,包括架构代码详解。

5、架构培训视频待定,包括架构详解、代码生成详解。

平台教程:

八、在线体验

演示版地址:

开源java代码生成器的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java 代码生成器 开源、开源java代码生成器的信息别忘了在本站进行查找喔。