轻量级 Java Web 框架技术选型

本文是《轻量级 Java Web 框架架构设计》的系列博文。

前面已对该 Java Web 框架做了一些简要描述,目标就是打造一个轻量级的 Java Web 开发框架。我们不考虑使用 Struct、Spring、Hibernate 以及 MVC 模式,我们只是取其精华、去其糟粕,我们不是要重造轮子,而是要改造轮子,努力打造一款轻巧的、易上手的、易扩展的、稳定性强的框架。同时它也并非是一个封闭的框架,它还能与现今流行的开发框架集成。面对这些挑战,需要我们付出很多努力,而首先面临的挑战就是,应该选择怎样的技术工具呢?

下面我简要的描述一下我的想法:

  • JUint:用于单元测试。
  • Apache Commons:用于提供最基础的支持,例如:Lang、Collections、BeanUtils、DBCP、DbUtils 等。
  • Log4J:用于记录日志。
  • Jackson:用于处理 JSON 数据。
  • CGLib:用于动态代理。

当然还有会其他的,所以还请各位网友们也推荐一下吧!


补充(2013-09-09)

今天对 Smart Framework 所依赖的类库做了一个统计,首先看看 Maven 依赖关系吧:

轻量级 Java Web 框架技术选型

下面在来这些 Artifact 所对应的 jar 包的文件大小吧:

轻量级 Java Web 框架技术选型

Smart 所有 jar 包加起来才 3M 多。如果使用 Spring + Hibernate 架构,光一个 Hibernate 就是 3M,Spring 那些常用的包加起来就是 5M 多,若果使用 AspectJ 作为 AOP 的实现,那又是将近 2M,此外还有其他第三方 jar 包。普通一个小型应用程序的 jar 包怎么说都要 20M 左右了,甚至更大。

每次重启 Tomcat,需要加载那么多的类库,程序员的心情一般都比较急躁,我们不想等待太久。将应用部署到服务器上所消耗 JVM 的内存也是非常之高。怪不得有些做 C++ 的人都瞧不起咱们做 Java 的人,说我们太浪费内存了。

你可能感兴趣的:(轻量级 Java Web 框架技术选型)