JAVA框架主流的有以下四款:
Struts1框架是apache公司的开源子项目,是基于mvc逻辑分层的web层框架实现.是出现最早的web层框架,应用最广发.Struts1框架重点关注的是控制层,对于视图层只是提供了大量的标签;对于model层的影响微乎其微.
java常用开源框架如下:
①Spring Framework 【Java开源JEE框架】
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库. Hibernate可以应用在任何使用JDBC的场合
Velocity是一个基于java的模板引擎(template engine).它允许任何人仅仅简单的使用模板语言(template language)来引用由java代码定义的对象. 当Velocity应用于web开发时,界面设计人员可以和java程序开发人员同步开发一个遵循MVC架构的web站点,也就是说,页面设计人员可以只关注页面的显示效果,而由java程序开发人员关注业务逻辑编码.Velocity将java代码从web页面中分离出来,这样为web站点的长期维护提供了便利,同时也为我们在JSP和PHP之外又提供了一种可选的方案.
使用ibatis 提供的ORM机制,对业务逻辑实现人员而言,面对的是纯粹的Java对象, 这一层与通过Hibernate 实现ORM 而言基本一致,而对于具体的数据操作,Hibernate 会自动生成SQL 语句,而ibatis 则要求开发者编写具体的SQL 语句.相对Hibernate等 "全自动"ORM机制而言,ibatis 以SQL开发的工作量和数据库移植性上的让步,为系统 设计提供了更大的自由空间.作为"全自动"ORM 实现的一种有益补充,ibatis 的出现显 得别具意义.
java三大框架是:
①.、Struts
为了解决这些问题,出现了Struts框架,它是一个完美的MVC实现,它有一个中央控制类(一个Servlet),针对不同的业务,我们需要一个Action类负责页面跳转和后台逻辑运算,一个或几个JSP页面负责数据的输入和输出显示,还有一个Form类负责传递Action和JSP中间的数据.JSP中可以使用Struts框架提供的一组标签,就像使用HTML标签一样简单,但是可以完成非常复杂的逻辑.从此JSP页面中不需要出现一行包围的Java代码了.
可是所有的运算逻辑都放在Struts的Action里将使得Action类复用度低和逻辑混乱,所以通常人们会把整个Web应用程序分为三层,Struts负责显示层,它调用业务层完成运算逻辑,业务层再调用持久层完成数据库的读写.
使用JDBC连接来读写数据库,我们最常见的就是打开数据库连接、使用复杂的SQL语句进行读写、关闭连接,获得的数据又需要转换或封装后往外传,这是一个非常烦琐的过程.
现在我们有三个层了,可是每层之间的调用是怎样的呢?比如显示层的Struts需要调用一个业务类,就需要new一个业务类出来,然后使用;业务层需要调用持久层的类,也需要new一个持久层类出来用.通过这种new的方式互相调用就是软件开发中最糟糕设计的体现.简单的说,就是调用者依赖被调用者,它们之间形成了强耦合,如果我想在其他地方复用某个类,则这个类依赖的其他类也需要包含.程序就变得很混乱,每个类互相依赖互相调用,复用度极低.如果一个类做了修改,则依赖它的很多类都会受到牵连. 为此,出现Spring框架.
Spring的作用就是完全解耦类之间的依赖关系,一个类如果要依赖什么,那就是一个接口.至于如何实现这个接口,这都不重要了.只要拿到一个实现了这个接口的类,就可以轻松的通过xml配置文件把实现类注射到调用接口的那个类里.所有类之间的这种依赖关系就完全通过配置文件的方式替代了.所以Spring框架最核心的就是所谓的依赖注射和控制反转.
现在的结构是,Struts负责显示层,Hibernate负责持久层,Spring负责中间的业务层,这个结构是目前国内最流行的Java Web应用程序架构了.另外,由于Spring使用的依赖注射以及AOP(面向方面编程),所以它的这种内部模式非常优秀,以至于Spring自己也实现了一个使用依赖注射的MVC框架,叫做Spring MVC,同时为了很好的处理事物,Spring集成了Hibernate,使事物管理从Hibernate的持久层提升到了业务层,使用更加方便和强大.
Spring Framework 【Java 开源JEE框架】
Spring提供了管理业务对象的一致方法并且鼓励了注入对接口编程而不是对类编程的良好习惯.Spring的架构基础是基于使用JavaBean属性的
Inversion of
Control容器.然而,这仅仅是完整图景中的一部分:Spring在使用IoC容器作为构建完关注所有架构层的完整解决方案方面是独一无二的.
Spring提供了唯一的数据访问抽象,包括简单和有效率的JDBC框架,极大的改进了效率并且减少了可能的错误.Spring的数据访问架构还集成了
Hibernate和其他O/R mapping解决方案.Spring还提供了唯一的事务管理抽象,它能够在各种底层事务管理技术,例如JTA或者
JDBC事务提供一个一致的编程模型.Spring提供了一个用标准Java语言编写的AOP框架,它给POJOs提供了声明式的事务管理和其他企业事务
--如果你需要--还能实现你自己的aspects.这个框架足够强大,使得应用程序能够抛开EJB的复杂性,同时享受着和传统EJB相关的关键服务.
Spring还提供了可以和IoC容器集成的强大而灵活的MVC Web框架.【SpringIDE:Eclipse平台下一个辅助开发插件】.
WebWork 【Java开源Web开发框架】
Xwork简洁、灵活功能强大,它是一个标准的Command模式实现,并且完全从web层脱离出来.
Xwork提供了很多核心功能:前端拦截机(interceptor),运行时表单属性验证,类型转换,强大的表达式语言(OGNL – the
Object Graph Notation Language),IoC(Inversion of Control倒置控制)容器等.
Action(业务层Action类),
JSP, Velocity, FreeMarker,
【EclipseWork:用于WebWork辅助开发的一个Eclipse插件】
Struts 【Java开源Web开发框架】
Struts是一个基于Sun
resources)整合到一个统一的框架中,开发人员利用其进行开发时不用再自己编码实现全套MVC模式,极大的节省了时间,所以说Struts是一个非常不错的应用框架.【StrutsIDE:用于Struts辅助开发的一个Eclipse插件】
Hibernate 【Java开源持久层框架】
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库.
Synchronizer】【MiddlegenIDE】
Quartz 【Java开源调度框架】
Quartz是OpenSymphony开源组织在Job
Velocity 【Java开源模板引擎】
Velocity是一个基于java的模板引擎(template engine).它允许任何人仅仅简单的使用模板语言(template
language)来引用由java代码定义的对象.当Velocity应用于web开发时,界面设计人员可以和java程序开发人员同步开发一个遵循MVC架构的web站点,也就是说,页面设计人员可以只关注页面的显示效果,而由java程序开发人员关注业务逻辑编码.Velocity将java代码从web页面中分离出来,这样为web站点的长期维护提供了便利,同时也为我们在JSP和PHP之外又提供了一种可选的方案.
Velocity的能力远不止web站点开发这个领域,例如,它可以从模板(template)产生SQL和PostScript、XML,它也可以被当作一个独立工具来产生源代码和报告,或者作为其他系统的集成组件使用.Velocity也可以为Turbine
web开发架构提供模板服务(template
service).Velocity◆Turbine提供一个模板服务的方式允许一个web应用以一个真正的MVC模型进行开发.【VeloEclipse
:Velocity在Eclipse平台下的一个辅助开发插件】
IBATIS 【Java开源持久层框架】
使用ibatis 提供的ORM机制,对业务逻辑实现人员而言,面对的是纯粹的Java对象, 这一层与通过Hibernate 实现ORM
而言基本一致,而对于具体的数据操作,Hibernate 会自动生成SQL 语句,而ibatis 则要求开发者编写具体的SQL
语句.相对Hibernate等 "全自动"ORM机制而言,ibatis
以SQL开发的工作量和数据库移植性上的让步,为系统设计提供了更大的自由空间.作为"全自动"ORM 实现的一种有益补充,ibatis 的出现显
得别具意义.
Compiere ERPCRM 【Java开源ERP与CRM系统】
Compiere
ERPCRM为全球范围内的中小型企业提供综合型解决方案,覆盖从客户管理、供应链到财务管理的全部领域,支持多组织、多币种、多会计模式、多成本计算、多语种、多税制等国际化特性.易于安装、易于实施、易于使用.只需要短短几个小时,您就可以使用申购-采购-发票-付款、报价-订单-发票-收款、产品与定价、资产管理、客户关系、供应商关系、员工关系、经营业绩分析等强大功能了.
Roller Weblogger 【Java开源Blog博客】
这个weblogging
syndication,blogroll管理和提供一个XML-RPC 接口.
Eclipse 【Java开源IDE】
Eclipse平台是IBM向开发源码社区捐赠的开发框架,它之所以出名并不是因为IBM宣称投入开发的资金总数
XPlanner 【Java开源项目管理】
XPlanner 一个基于Web的XP团队计划和跟踪工具.XP独特的开发概念如iteration、user
stories等,XPlanner都提供了相对应的的管理工具,XPlanner支持XP开发流程,并解决利用XP思想来开发项目所碰到的问题.
XPlanner特点包括:简单的模型规划,虚拟笔记卡(Virtual note cards),iterations、user
stories与工作记录的追踪,未完成stories将自动迭代,工作时间追踪,生成团队效率,个人工时报表,SOAP界面支持.
HSQLDB 【Java开源开源数据库】
Liferay 【Java开源门户系统】
框架技术,基于XML的portlet配置文件可以自由地动态扩展,使用了Web Services来支持一些远程信息的获取,使用 Apahce
Lucene实现全文检索功能.
主要特点:
提供单一登陆接口,多认证模式(LDAP或 SQL);
管理员能通过用户界面轻松管理用户,组,角色;
用户能可以根据需要定制个性化的portal layout;
支 持主流的数据库,如PostgreSQL,MySQL;
使用了第三放的开源项目,如Hibernate, Lucene, Struts;
支持包括中文在内的多种语言;
采用最先进的技术 Java, EJB, JMS, SOAP, XML;
JetSpeed 【Java开源门户系统】
Jetspeed是一个开放源代码的企业信息门户(EIP)的实现, 使用的技术是Java和XML. 用户可以使用浏览器,
支持WAP协议的手机或者其它的设备访问Jetspeed架设的信息门户获取信息. Jetspeed扮演着信息集中器的角色,
它能够把信息集中起来并且很容易地提供给用户.
Jetspeed具有如下的特征:
即将成为标准化的Java Portlet API
基于模板的布局, 包括JSP和Velocity
通过开放的内容同步技术支持远程XML 内容交换
定制默认的主页
使用数据库进行用户认证
内存缓存技术, 加快页面的响应
通 过Rich Site Summary技术, 支持同步内容
和Cocoon, WebMacro, Velocity集成.
Wireless Markup Language (WML) 支持
使用XML格式的配置文件注册portlet.
完整的 Web Application Archive (WAR) 支持
Web应用程序开发的基础设施
可以在本地缓 存远程内容
与Avantgo同步
与 Turbine模块和服务集成
可以根据用户, 安装媒体类型和语言的不同设定, 产生不同的个性化服务
持续化服 务使得所由的portlet能够容易的存储每个用户的状态, 页面和portlet
使用皮肤技术使得用户可以选择portlet的颜 色和显示属性
自定义功能是的管理员可以选择portlet以及定义个人页面的布局
在数据库中存储PSML
通 过Jetspeed的安全portlets管理用户, 组,角色和权限
基于角色对访问portlet进行控制
JOnAS 【Java开源应用服务器】
、JMS、JMX、JNDI、JAAS、JavaMail .
JFox 是 Open Source Java EE Application Server,致力于提供轻量级的Java
如果您正在寻找一个简单、轻量、高效、完善的Java EE开发平台,那么JFox正是您需要的.
重 新设计的 IoC 微内核,融入 OSGi 模块化思想
设计成嵌入式架构,能够和任何 Java Web Server集成部署
支持 EJB 发布成Web Service
采用 XAPool() 提供 XA
DataSource,支持智能连接池管理
内置 MVC 框架,实现自动Form
Mapping,Validator,Uploading等功能,支持JSP/Velocity/Freemarker页面引擎,并支持直接在
Action中注入EJB
支持多应用模块部署,让中大型应用充分享受模块化开发带来的优势
提供 Manager 管理模块,可以查看和管理各种运行时参数
提供根据 JFox 特色重写的 Petstore 应用模块
EasyJWeb 【Java开源Web开发框架】
、Webwork),吸取了其优点及精华,利用Velocity作为模板页面引擎,是一个实现了页面及代码完全分离的MVC开发框架.是一个能实现中小型
Web应用系统快速开发的简易Web框架.
通过EasyJWeb
Tools提供的配套开发工具,可以实现基于EasyJWeb框架的Web应用快速开发,包括常用应用软件的代码自生成、数据库添删改查(CRUD)代码生成、自动页面模版生成、配置文件管理等.
框架特点:
零配文件置支持.以前我们每接触一个框架,开始总都要被
他的配置文件折腾一番.EasyJWeb实现零配置支持,可以不写一句配置文件就在框架基础上构建你的运用.(适合小型网站系统).
简 易的模板页面设计支持:放弃使用jsp,使用简单Velocity脚本语言作为页面模板.
页面程序完全分离:实现显示页面与程序逻辑 的完全分离,克服了传统jsp页面难于维护的问题.
基于页面组件的框架.灵活的页面组件配置,可以直接通过配置文件设置字段级的事件 组件.
快速开发支持:通过EasyJWeb
Spring等)实现快速开发.
Tapestry 【Java开源Web开发框架】
Tapestry是一个开源的基于servlet的应用程序框架,它使用组件对象模型来创建动态的,交互的web应用.一个组件就是任意一个带有
jwcid属性的html标记.其中jwc的意思是Java Web
Component.Tapestry使得java代码与html完全分离,利用这个框架开发大型应用变得轻而易举.并且开发的应用很容易维护和升级.
Tapestry支持本地化,其错误报告也很详细.Tapestry主要利用javabean和xml技术进行开发.【Spindle:Tapestry
辅助开发Eclipse插件】.
FreeMarker 【Java开源模板引擎】
FreeMarker允许Java
servlet保持图形设计同应用程序逻辑的分离,这是通过在模板中密封HTML完成的.模板用servlet提供的数据动态地生成
HTML.模板语言是强大的直观的,编译器速度快,输出接近静态HTML页面的速度.
【FreeMarker Eclipse Plugin与FreeMarker IDE:Eclipse平台下的辅助开发工具】
Lucene 【Java开源搜索引擎】
Apache
Lucene是一个基于Java全文搜索引擎,利用它可以轻易地为Java软件加入全文搜寻功能.Lucene的最主要工作是替文件的每一个字作索引,索引让搜寻的效率比传统的逐字比较大大提高,Lucen提供一组解读,过滤,分析文件,编排和使用索引的API,它的强大之处除了高效和简单外,是最重要的是使使用者可以随时应自已需要自订其功能.
iText 【Java开源PDF类库】
iText是一个能够快速产生PDF文件的java类库.iText的java类对于那些要产生包含文本,表格,图形的只读文档是很有用的.它的类库尤其与java
Servlet有很好的给合.使用iText与PDF能够使你正确的控制Servlet的输出.
Groovy 【Java开源动态语言】
Groovy是一种基于JVM的敏捷开发语言,它结合了Python、Ruby和 Smalltalk的许多强大的特性.
OpenCms 【Java开源CMS系统】
Dynamo、WebLogic和WebSphere.OpenCms支持多种RDBMS来保存内容,包括Oracle、SQL
Server、Sybase和mySQL.新版本提供了一个新的模板引擎,JSP支持,一种新的连接管理系统,提高了稳定性.
JUnit 【Java开源测试工具】
JUnit是由 Erich Gamma 和 Kent Beck 编写的一个回归测试框架(regression testing
framework).Junit测试是程序员测试,即所谓白盒测试,因为程序员知道被测试的软件如何(How)完成功能和完成什么样(What)的功能.Junit是一套框架,继承TestCase类,就可以用Junit进行自动测试了.
BlueJ 【Java开源IDE】
BlueJ是一个专门为入门级教学设计的JavaTM 开发环境.它是由澳大利亚墨尔本Monash大学BlueJ小组设计并开发的.
XWiki 【Java开源Wiki系统】
XWiki是一个强大的Java开源的Wiki引擎.它支持一些受欢迎的特性如:
支持附件,
版本控制,
全文本搜索,
权 限管理
使用Hibernate进行数据存储,
RSS输出与显示外部的RSS feeds,
多 语言支持,
提供XML/RPC的API,
导出为PDF
Groovy 脚本支持等等.....
EJBCA 【Java开源网络服务器端组件】
JXTA 【Java开源其它项目】
JXTA业务层和JXTA应用层.
DWR 【Java开源AJAX框架】
DWR(Direct Web
bean),更好浏览器支持,还支持一个可选的commons-logging日记操作.
ZK 【Java开源AJAX框架】
ZK是一个Ajax Java Web框架,利用少量代码就能够开发出拥有Rich
UI的Web应用.ZK提供基于XUL的标记语言和事件驱动的组件,可以让你像开发桌面应用程序一样简单.支持EL表达式和脚本语言包括:JavaScript、Ruby和Groovy等.支持Annotation及数据绑定.集成Google
Maps、FCKeditor、DOJO以及Timeline.
首先给你一个参考图:
下面介绍三种供你参考:
①.、JBoss Seam
JBoss Seam,算得上是Java开源框架里面最优秀的快速开发框架之一.
Seam框架非常出色,尤其是他的组件机制设计的很有匠心,真不愧是Gavin King精心打造的框架了,虽然看起来还是有些缺陷,但是做企业应用项目的话,Seam是一个很棒的选择,作为程序员来说,要比用 Spring/Hibernate/Struts省心的多,更能够把精力放在业务逻辑的编写上面,开发效率也很不错,可能是Java开源框架里面最优秀的 快速开发框架之一了.
XJR快速开发是一款商用java快速开发平台软件,由湘北智造研发.XJR快速开发平台是快速性和灵活性相结合的产物,体现了软件开发既快又好的特点,对于小项目,使用XJR可以开发出高质量可扩展的好的系统;对于大项目,使用XJR可以更快地开发出系统.
XJR快速开发平台是将各种需要的功能以目前流行的多种web技术,包括springboot, JPA,Druid, Activiti,Lombok,swagger,poi,WebSocket,Jquery,BootStrap, maven,Jenkins 等等 )为基础封装在不同的层中,给大家调用,而大家在调用时不需要清楚这些方法里面是如果实现的,只需要关注输出的结果是否是自己想要的就可以了.
XJR快速开发平台的代码生成器已经把常用的开发场景做成开发模板,按照开发向导一步步走,在遇到有复杂业务逻辑的地方稍作修改就可以.XJR快速开发平台提供了源代码,如果开发水平比较高的话可以做深层次的扩展.
以上就是土嘎嘎小编为大家整理的java代码自动生成框架相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!