58同城开源的轻量级web框架 https://github.com/58code/Argo
有的时候总是在想,什么样的工具才算是好的工具。首先要开源(废话,做JAVA当然要有开源精神),还要有强大的功能、配套的文档,良好的代码可阅读性、可扩展性、可维护性…… 架构师们在选型的时候都是从实际需求出发,权衡利弊。使用一个功能(代码)繁杂到无法有效掌握、无法维护的工具,风险是很大的。
下面看看这个Argo的具体功能
遗憾的是github上没有什么框架的使用说明,但是意外惊喜的发现有一个eclipse插件,这对于看重动手能力的人来说是最好的工具了。
使用插件新建项目,生成了上图的目录结构工程,典型的小工程结构吧,如果58的系统都是这种结构,系统得拆得多碎 - -!
-------------------------------- 华丽分割线 --------------------------------
还是看源码吧,既然没有源码文档,就运行看看,找到入口。结果找到了
com.bj58.argo.servlet.ArgoFilter
/** * 利用Filter来实行调度 */ @WebFilter(urlPatterns = {"/*"}, dispatcherTypes = {DispatcherType.REQUEST}, initParams = {@WebInitParam(name = "encoding", value = "UTF-8")} ) public class ArgoFilter implements Filter {
@WebFilter是servlet3.0新特性,注解声明方式代替web.xml。这里声明了一个filter,过滤匹配所有url,分发模式为request,字符编码设置为UTF-8。所以这个Filter也就是全局入口了,继续往下看。
考虑到框架项目启动的时候就应该把该绑定的controller、拦截器、过滤器什么的都初始化完成,懒加载无法确认启动时间,要阻塞N多线程造成不可预估的损失,所以init方法和静态块、静态变量就是框架的初始入口,doFilter方法是分发处理入口。
这次先写到这,下次从init方法一层一层往里面找
相关推荐
Argo,源自58同城,是一款强大的开源Web框架,专为构建高性能、高可扩展性的Web应用而设计。基于Java语言,Argo在58同城内部广泛应用于各种Web站点,包括移动端和WAP访问,展现出了其在处理大规模并发和复杂业务场景...
【58同城开源框架】是58同城公司推出的一款开源技术框架,旨在为开发者提供高效、稳定、可扩展的开发工具。这个框架凝聚了58同城在互联网服务领域的技术积累,体现了其对软件工程的最佳实践,有助于提升开发效率,...
Argo是开源的web框架,目前Argo支撑着58同城几乎所有的web站点,包括wap和手机端的访问等,现在wf每天处理10亿级的请求。经过长时间的运作与运行,证明Argo是一个可靠的、高效的web框架。 Argo在wf做了大量优化和...
- **自研系统**:开发了专门的图片存储系统,以及一套完整的开发框架(包括Web框架Argo和服务框架Gaea),大大降低了站点和服务的开发成本。 #### 四、更大流量挑战及解决方案 - **面临的新挑战**:如何应对更高的...
ArgoUML-0.26开源.exe 推荐下载
ArgoUML是一款开源的UML(统一建模语言)工具,主要版本为0.14,被封装在名为"ArgoUML-0.14.zip"的压缩包文件中。这个工具允许用户创建、编辑和管理UML模型,是软件开发过程中的一个重要辅助工具,尤其对于系统分析...
代码超级干净,可以很容易地定制,很容易转化为任何类型的web应用程序,包括自定义管理面板,数据分析仪表盘,电子商务后端、CMS、CRM或任何SASS面板。 主要特色 响应布局(台式电脑、平板电脑、移动设备) 用Bootstrap...
ARGO UML(ArgoUML)是一款基于Java开发的开源统一建模语言(UML)工具。UML是一种广泛用于软件系统分析和设计的标准化建模语言,它提供了图形化的表示方法,帮助开发者理解和交流软件系统的结构和行为。而argouml....
- 开源:ArgoUML是开源项目,这意味着任何人都可以自由地下载、使用、修改和分发该软件,这促进了社区的参与和创新。 关于手册的版权,它采用了开放出版许可证(Open Publication License, OPL),这允许用户在满足...
ArgoUML是一款开源的统一建模语言(UML)设计工具,专为软件开发者提供图形化界面,以便创建和管理UML模型。这款软件的独特之处在于它支持与PHP的集成,使得Web开发者也能利用UML进行项目规划和设计。 UML是一种...
ArgoUML是一款免费且开源的统一建模语言(UML)建模工具,它允许用户创建、编辑和管理各种UML模型。该软件是由Tigris组织开发并维护的,广泛应用于软件工程领域,特别是对于那些需要进行系统设计和分析的项目。通过...
ArgoUML是一款开源的计算机辅助软件工程(CASE)工具,主要用于统一建模语言(UML)的建模。它提供了丰富的功能,让用户能够便捷地设计、创建和管理UML模型。这款轻量级的应用程序在Java平台上运行,因此具有跨平台的...
ARGO入门手册1为用户提供了一个全面了解ARGO项目和ARGO数据的指南,包括ARGO浮标的工作原理、ARGO数据的类型和获取方式、ARGO数据的应用等方面。该手册旨在帮助用户更好地理解和使用ARGO数据,从而推动全球海洋研究...
ArgoCD 是一个开源项目,专门设计用于Kubernetes的持续交付。它提供了一种声明性的方式来管理K8s资源,使开发者能够将应用程序的状态与Git存储库中的定义保持一致。这使得整个部署过程变得可审计、透明且易于管理。...
ArgoUML 是一个开源的统一建模语言(UML)建模工具,专为软件开发者和设计师提供便捷的UML模型创建环境。该工具支持多种编程语言的代码自动生成,包括C++、C、Java、PHP、SQL和C#等,极大地提升了开发效率和代码一致...
zooviewer zookeeper web ui written in java.jsut like node-zk-web 这是一个查看zookeeper节点并可以...1,基于58开源的web框架Argo,全应用无一个配置文件。详见. 2,页业端用了jquery-tree ,方便查看zk的树状节点.
argouml一款很好的开源uml工具 中文版的
ArgoUML是一款开源的、基于Java编写的统一建模语言(UML)设计工具,适用于多种操作系统,包括Mac OS X。它提供了全面的UML支持,使得软件开发者和系统分析师可以方便地创建、编辑和管理各种UML模型。在Mac平台上,...
《深入探索ArgoUML源码:开源UML工具的剖析与学习》 ArgoUML,作为一款开源的统一建模语言(UML)工具,一直以来都是软件开发者和系统分析师的重要助手。它提供了丰富的功能,包括类图、用例图、序列图等多种UML...
**ArgoUML** 是一个基于Java开发的开源UML(统一建模语言)绘图工具,它允许用户在各种操作系统上创建、编辑和管理UML模型。由于其跨平台特性,无论是在Windows、Linux还是Mac OS X系统上,用户都能方便地使用Argo...