-
IOC Container: Spring, Guice
我们需要IOC Container的依赖注入作为胶水,把其他工具包粘在一起。还需要它的AOP,进行事务配置,权限管理。
这么多人都在使用Spring,实际使用中可以获得巨大的便利,如果选择了其他平台就要面临在关键时刻自己造轮子的窘境。使用Spring的实际经验更长,方便与其他组件整合。
Guice是由Google出品的,又使用了JDK5中的注解功能,问题是以后是否能得到很好的支持。
-
MVC: struts2, struts, JSF, RESTful Framework, SpringMVC
struts2比struts好用,在了解了OGNL的用法后,还是比较方便的。
struts毕竟还是老掉牙了。
JSF好复杂,没有IDE的支持基本没法用,看不清方向。
RESTfull Framework感觉太草率,有前途吗。
springmvc现在默认不包含在spring包中了,它的功能太简陋,有些新功能华而不实。
-
ORM: Hibernate, JPA, iBatis, JDBC
作为ORM方案,使用hibernate3对JPA的支持,使用annotation简化配置。
Hibernate用起来比较熟,支持多数据库,简化了数据库的操作,目前把所有调优的希望都放在二级缓存上了。
JPA对于规范不太了解。
iBatis据称是对JDBC的最简封装,但是与hibernate有太多的区别。
JDBC根本没进行封装,用起来风险太高。使用封装的框架更容易统一开发。
-
View: JSP-2.0, Freemarker, Velocity
严重偏向Freemarker,易用性,扩展性,自定义宏,还可以用在不支持JSP-2.0的服务器上,而且还可以与struts2配合。可是Freemarker并没有合适IDE配合,而且能够熟练使用的程序员也不多。
JSP-2.0功能明显不足,限制太多,不容易扩展,必须和taglib配合才能对付实际中的工作,taglib又太难写。
Velocity功能不如Freemarker。
-
Security: Spring Security, jsecurity, struts menu
Spring Security作为acegi的升级版本,更易用了,与spring整合在一起,控制权限。
jsecurity作为apache孵化器里的项目,有人对它进行了强烈推荐。
是否还考虑基于struts menu写一套自定义的菜单?
-
Ajax Widgets: ExtJS, Dojo, YUI, JQuery-UI
ExtJS轻便,好用,漂亮,功能强大。只是协议有问题。
Dojo笨重,难看,都不知道怎么用。
YUI是ExtJS的原型,但是封装没有ExtJS好。
JQuery-UI还很青涩。
如果不使用上述这类统一组件库,还可以选择jsCalendar这个日期选择组件,FckEditor和Tiny_mce都是富文本编辑器。据说专业人士喜欢用FckEditor,喜欢漂亮的都喜欢用Tiny_mce。JavaScriptTemplate可以批量生成HTML。和DWR结合实现上传进度条等功能。
-
JS Function Lib: Prototypejs, JQuery, Mootools
Prototypejs最老。对应的扩展主要有Script.Aculo.us。
JQuery有强力的查询能力。对应的扩展容易找到。
Mootools被fin强烈推荐,说OO封装做得很好,但感觉扩展组件不丰富。
-
JSON: DWR, json-lib
使用dwr和 commmons-fileupload制作上传文件的进度条。
考虑使用dwr-2的服务器推,制作在线聊天。
与服务器之间交互采用json格式传递数据,目前采用的json-lib在处理循环引用的时候需要特别设置,否则在处理hibernate双向关联的时候100%出错。
相关推荐
Java技术选型是软件开发中的关键决策,它直接影响项目的稳定性和效率。在Java领域,有众多优秀的框架和技术可供选择,本篇文章将详细讨论一些常用的技术选型及其应用场景。 首先,后端服务框架方面,Dubbo是一款高...
软件技术选型报告摘要.pdf 本报告是软件技术选型报告的摘要,主要内容包括业务和系统的对齐、商务谈判要点、项目第三阶段总体工作计划、ERPERP软件商招标、衡量软件供应商的标准、质量和范围、成本、时间等方面的...
在软件开发过程中,技术选型是一项至关重要的决策,它直接影响项目的效率、可维护性和扩展性。本文将深入探讨为何选择Java作为开发语言,并分析其在技术选型中的优势。 Java是一种广泛使用的高级编程语言,由Sun ...
"移动应用开发技术选型策略" 移动应用开发技术选型策略是企业移动应用开发技术选择的重要组成部分。当前,移动应用的类型和开发模式多样化,企业在选择移动应用和开发技术时面临着很多的挑战。本文对移动应用的分类...
在构建大型网站的过程中,技术选型对于小团队来说至关重要,因为它直接影响着项目的成功与否和团队的发展潜力。张辉清在《小团队构建大网站之技术选型》中深入探讨了如何进行有效且适应性强的技术选型,以支持团队在...
**技术选型方案:Nginx 中间件详解** 在当今的互联网环境中,选择合适的中间件对于构建高效、稳定、可扩展的系统至关重要。Nginx作为一款高性能的Web服务器和反向代理服务器,因其出色的性能特性而备受青睐。本文将...
深度学习技术选型白皮书(2018年)是针对当时深度学习领域的一份重要参考资料,旨在为开发者、研究人员以及企业决策者提供全面的深度学习技术对比和选择建议。这份白皮书可能涵盖了以下几个关键知识点: 1. **深度...
深度学习技术选型白皮书(2018年)由Delphi标签标注,是中国人工智能产业发展联盟的研究成果,于2018年10月发布。白皮书的目的是为企业在应用深度学习技术时提供技术选型参考,并为开源框架及产品的选型评测提供依据...
在沈剑的《技术选型-技术委员会必要的思考》中,他深入探讨了技术委员会的核心职责、职级评审、开源与自研、以及技术落地等方面的问题。 首先,技术委员会的核心职责主要集中在组织人才管理和技术战略两个方面。在...
企业存储资源池整合及技术选型方案 本文将对企业存储资源池整合及技术选型方案进行详细的解读和分析,从存储资源池的目标、架构、技术选型、难点及挑战等方面进行详细的探讨。 一、存储资源池的目标 企业存储资源...
在进行OLAP(在线分析处理)技术选型时,常常需要对比不同的数据库系统以寻找最适合自己需求的解决方案。本文主要探讨了DorisDB、ClickHouse与GreenPlum三款OLAP数据库,并分析了各自的特点和性能表现。 首先,...
互联网公司如何正确的做技术选型.pptx
大数据 OLAP 技术选型
标题中的“05_知其然而知其所以然:如何进行消息队列的技术选型?”表明这是一篇关于深入理解消息队列(Message Queue, MQ)技术选型的文章,旨在帮助读者不仅理解如何使用MQ,还要理解为什么要选择特定的MQ方案。在...
技术选型方案(数据库选型)针对oracle(使用Oracle数据库,有最高认证级别的ISO标准认证,性能极高,保持着开放平台下TPC-D和TPC-C世界记录,有极强的可伸缩性和并行性。)
云平台技术选型之十:API网关的知识点讲解 API网关(Application Programming Interface Gateway)是微服务架构中用于简化客户端与微服务之间交互的重要组件。在微服务架构中,服务被细分成多个独立部署的服务单元...
【202007】AIIA发布业界权威AI芯片目录集:AI芯片技术选型目录_97页.pdf
在进行大厂前端项目设计时,技术选型是至关重要的一步。它不仅决定了项目的开发效率、稳定性和维护成本,同时也反映了开发团队的技术能力和对业务需求的理解。技术选型应该基于项目需求、团队技能、社区支持和项目...
本迷你书是《开源技术选型手册》 的精选版,包括Web框架篇、动态语言篇、Ajax开发篇、版本控制篇、项目管理篇(AOP)、面向方面编程篇和面向服务架构篇(SOA)等,作者均为 InfoQ中文站编辑。《开源技术选型手册》由...