Smart Framework:轻量级 Java Web 框架

发表于2年前(2013-09-01 08:39)   阅读(48569) | 评论(188) 544人收藏此文章, 我要收藏
赞83

阿里云携手开源中国众包平台发布百万悬赏项目 »  

工作闲暇之余,我开发了一款轻量级 Java Web 框架 —— Smart Framework

开发该框架是为了:

  1. 加速基于 Java 的中小型 Web 应用程序的开发,让开发人员将更多的精力集中到业务上,而无需过多地关心底层技术细节。

  2. 推广国内开源事业的发展,吸引更多有想法并且有开源奉献精神的朋友,一起共同探讨,并分享自己的经验。

  3. 对于个人而言,我想结交更多志同道合的朋友,将来有机会能够一起做点事情。

该框架有如下特点:

  1. 基于 Servlet 3.0 规范,可部署到 Tomcat 服务器中(或其他 Web 服务器)。

  2. 放弃 Spring、Hibernate 等日益加重的开发框架(同样也不考虑 EJB 3)。

  3. 采用“前后端分离”原则,即前端实现界面展现,后端实现业务逻辑。

  4. 客户端可通过 HTML + CSS + JS 展现界面,使用 AJAX 获取服务端数据并进行填充或渲染。

  5. 服务端可连接多种数据库,直接面向 SQL 语句,采取轻量级的 ORM 策略。

  6. 放弃 XML 配置,使用 Java 注解,并做到真正的“零配置”。

  7. 基于 REST 风格的 URL 编程规范,可对外发布 REST/SOAP Web 服务。

  8. 对配置性数据采用缓存机制,提供轻量级缓存工具。

  9. 应用基于面向服务编程(SOA 思想),可进行分布式部署。

  10. 灵活性高,便于定制与扩展。

项目源码 | 问题反馈 | 用户手册

我会和大家一起交流,共同设计这个框架,毫无保留地分享程序中每一行代码。随时更新,尽请关注!

有兴趣一起讨论的朋友,欢迎加入 QQ 群: 468396029 / 120404320

非常感谢用您的宝贵时间来阅读本文,祝您生活愉快!

系列博文

    1. 对 Action 的初步构思(2013-09-01)

    2. 对 Entity 的初步构思(2013-09-01)

    3. 轻量级 Java Web 框架技术选型(2013-09-02)

    4. Action 分发机制实现原理(2013-09-03)

    5. Entity 映射机制实现原理(2013-09-03)

    6. 轻量级 Java Web 框架类图(2013-09-03)

    7. IOC 实现原理(2013-09-04)

    8. 用一个示例来说话(2013-09-04)

    9. 再来一个示例吧(2013-09-05)

    10. 事务管理实现原理(2013-09-07)

    11. 一个 CRUD 示例(2013-09-10)

    12. AOP 实现原理(2013-09-12)

    13. 对代码生成器的一点想法(2013-09-12)

    14. 实现文件上传(2013-09-17)

    15. 实现查询与分页(2013-09-17)

    16. 代码生成器实现过程(2013-09-17)

    17. 像这样做单元测试(2013-09-18)

    18. 封装 Servlet API(2013-09-20)

    19. 关于异常处理的解决方案(2013-09-23)

    20. 再论代码生成器(2013-10-12)

    21. 讨论 Smart Framework 2.0 功能特性(2013-10-16)

    22. 使用 Smart SDK 快速开发 Java Web 应用(2013-10-17)

    23. 两种 MVC 模式(2013-10-17)

    24. 支持“正向 MVC 模式”(2013-10-18)

    25. 使用“链式代理”实现 AOP(2013-10-22)

    26. Smart Plugin —— 从一个简单的 Cache 开始(2013-10-31)

    27. 访问安全控制解决方案(2013-11-03)

    28. 能否让 Cache 变得更加优雅?(2013-11-04)

    29. Cache Plugin 实现过程(2013-11-07)

    30. 一个简单的 Cache 淘汰策略(2013-11-19)

    31. 发布与调用 Web 服务还能再简化吗?(2013-11-22)

    32. 初步实现 WebService 插件(2013-11-22)

    33. 初步实现 Mail 插件 —— 发送邮件(2013-11-24)

    34. 初步实现 Mail 插件 —— 收取邮件(2013-11-25)

    35. 初步实现 I18N 插件(2013-11-26)

    36. 让 Smart WebService 插件支持 REST 服务(2013-11-29)

    37. 如何处理 WebService 中的 Map 对象?(2013-12-08)

    38. 关于文件上传的改进(2013-12-15)

    39. 初步实现 Job 插件(2013-12-15)

    40. 将 Hessian 集成到 Smart 中(2013-12-26)

    41. 共同编写 Smart 2.0 开发指南(2014-01-05)

    42. Smart 2.0 开发指南(2014-01-22)

    43. 让你的开发变得如此 Smart(2014-01-27)

    44. 从 Git@OSC 下载 Smart 源码(2014-02-05)

    45. 原来可以这样玩 SSO(2014-02-11)

    46. 单点登录解决方案 —— Smart SSO(2014-02-13)

    47. 使用 Smart Security 实现安全控制(2014-03-31)

    48. 对 Action 方法参数的改进方案(2014-04-01)

    49. 对 Smart 事务传播行为的一点想法(2014-04-18)

    50. Smart 项目进度与规划(2014-04-21)

    51. 将 Smart 构件发布到 Maven 中央仓库(2014-04-25)

    52. Smart 官网项目规划(2014-05-04)

    53. 对类扫描器的代码重构(2014-05-13)

    54. 让数据库连接池灵活配置(2014-05-14)

    55. 让数据访问更加自由(2014-05-15)

    56. 一个超轻量级的 ORM 框架(2014-05-19)

    57. 简单的重构让 MVC 的职责更加清晰(2014-05-20)

    58. Smart 功能总结(2014-06-06)

Smart Framework的更多相关文章

  1. Smart Framework:轻量级 Java Web 框架

    Smart Framework:轻量级 Java Web 框架 收藏 黄勇   工作闲暇之余,我开发了一款轻量级 Java Web 框架 —— Smart Framework. 开发该框架是为了: 加 ...

  2. com.panie 项目开发随笔(NoF)_环境搭建(2016.12.29)

    (一) 最近做的框架一直在 spring + springmvc + mybatis 的基础上,使用框架的好处自然是 简化了自己的开发工作,定义好大的结构体系后就在里面套用方法了! 可是框架的毛病同样 ...

  3. 使用 IDEA + Maven + Git 快速开发 JAVA或者Web 应用(转)

    0-0 前言 最近和同事做爬虫,其中我主要遇到的问题是:同事在github上放了爬虫demo让我自己去下载,然后自己能搭好环境让整个项目跑起来去抓51job找工作数据.git上克隆一个项目下来,项目是 ...

  4. [Maven]Maven 那点事儿

    0. 前言 Jason Van Zyl,在 Java 十大风云人物排行榜上或许会看到他. 这兄弟是干嘛的? 他就是 Maven 的创始人,人们都尊称他为"Maven 他爸". 毋庸 ...

  5. 读《架构探险——从零开始写Java Web框架》

    内容提要 <架构探险--从零开始写Java Web框架>首先从一个简单的 Web 应用开始,让读者学会如何使用 IDEA.Maven.Git 等开发工具搭建 Java Web 应用:接着通 ...

  6. [转]轻量级 Java Web 框架架构设计

    工作闲暇之余,我想设计并开发一款轻量级 Java Web 框架,看看能否取代目前最为流行的而又越来越重的 Spring.Hibernate 等框架.请原谅在下的大胆行为与不自量力,本人不是为了重造轮子 ...

  7. 一位10年Java工作经验的架构师聊Java和工作经验

    从事近十年的 JavaEE 应用开发工作,现任阿里巴巴公司系统架构师.对分布式服务架构与大数据技术有深入研究,具有丰富的 B/S 架构开发经验与项目实战经验,擅长敏捷开发模式.国内开源软件推动者之一, ...

  8. Maven 那点事儿(转)

    0. 前言 Jason Van Zyl,在 Java 十大风云人物排行榜上或许会看到他. 这兄弟是干嘛的? 他就是 Maven 的创始人,人们都尊称他为“Maven 他爸”. 毋庸置疑,Jason 也 ...

  9. windows类书的学习心得

    原文网址:http://www.blogjava.net/sound/archive/2008/08/21/40499.html 现在的计算机图书发展的可真快,很久没去书店,昨日去了一下,真是感叹万千 ...

随机推荐

  1. vim ctl+v批量添加/删除

    vim编辑器---批量注释与反注释 在使用vim编写代码的时候,经常需要用到批量注释与反注释一段代码.下面简要介绍其操作. 方法一 块选择模式 插入注释: 用v进入virtual模式 用上下键选中需要 ...

  2. hdu5115(区间dp)

    n头狼排成一列,每头狼有两个属性,基础攻击力和附加攻击力, 第i只狼的基础攻击力是ai,附加攻击力是b(i-1) + b(i+1) 消灭一只狼,受到的伤害为基础攻击力+附加攻击力. 问消灭所有的狼受到 ...

  3. 《Javascript高级程序设计》读书笔记之闭包

    闭包 function createComparisonFunction(propertyName) { return function (object1, object2) { var value1 ...

  4. JAVA先进-设置(1)

    >Arrays 基本阵列 1.常见的数组产生于main() 函数,数组下标的索引不能超过0到int的范围 2.当程序试图訪问数组的第一个或者最后一个数据的时候,会发生ArrayIndexOutO ...

  5. 染色法判断是否是二分图 hdu2444

    用染色法判断二分图是这样进行的,随便选择一个点, 1.把它染成黑色,然后将它相邻的点染成白色,然后入队列 2.出队列,与这个点相邻的点染成相反的颜色 根据二分图的特性,相同集合内的点颜色是相同的,即 ...

  6. 苹果公司的新的编程语言 Swift 高级语言(十一)--初始化类的析构函数的一个实例

    一 .实例的初始化          实例的初始化是准备一个类.结构或枚举的实例以便使用的过程. 初始化包含设置一个实例的每个存储属性为一个初始值,以及运行不论什么其他新的实例可以使用之前须要的设置或 ...

  7. hdu3530Subsequence rmq

    //使用rmq办,ma[i][j],同i作为一个起点2^j阵列的最大长度值 //启动枚举问最长的子列 //枚举的最大长度2^(j-1)和2^(j)z之间 //然后在该范围内找到 #include< ...

  8. nyoj 47 江 河问题 【贪婪】

    经典的贪婪. 两种方案:一个:让我们来最快,第二快,在过去的第一,最快的回.然后最慢,最慢第二,在过去.次最快的回来a[0]+a[1]+a[1]+a[n-1] 二:最快的和最慢的过去,最快的回来,最快 ...

  9. C#判断操作系统是32位还是64位(超简单)

    由于项目需要在64位和32位系统运行,需要判断当前系统是32位还是64位. 网上很多方法,但是都感觉不是很简洁,最后发现可以使用int的长度来判断:看代码 /// <summary>    ...

  10. 数据结构读书笔记(二)(C语言)

    (一)循环链表 存储类型 typedef struct LNode { ElemType data; struct LNode *next; }; typedef struct LNode *Link ...