Smart Framework
工作闲暇之余,我开发了一款轻量级 Java Web 框架 —— Smart Framework。
开发该框架是为了:
加速基于 Java 的中小型 Web 应用程序的开发,让开发人员将更多的精力集中到业务上,而无需过多地关心底层技术细节。
推广国内开源事业的发展,吸引更多有想法并且有开源奉献精神的朋友,一起共同探讨,并分享自己的经验。
对于个人而言,我想结交更多志同道合的朋友,将来有机会能够一起做点事情。
该框架有如下特点:
基于 Servlet 3.0 规范,可部署到 Tomcat 服务器中(或其他 Web 服务器)。
放弃 Spring、Hibernate 等日益加重的开发框架(同样也不考虑 EJB 3)。
采用“前后端分离”原则,即前端实现界面展现,后端实现业务逻辑。
客户端可通过 HTML + CSS + JS 展现界面,使用 AJAX 获取服务端数据并进行填充或渲染。
服务端可连接多种数据库,直接面向 SQL 语句,采取轻量级的 ORM 策略。
放弃 XML 配置,使用 Java 注解,并做到真正的“零配置”。
基于 REST 风格的 URL 编程规范,可对外发布 REST/SOAP Web 服务。
对配置性数据采用缓存机制,提供轻量级缓存工具。
应用基于面向服务编程(SOA 思想),可进行分布式部署。
灵活性高,便于定制与扩展。

我会和大家一起交流,共同设计这个框架,毫无保留地分享程序中每一行代码。随时更新,尽请关注!
有兴趣一起讨论的朋友,欢迎加入 QQ 群: 468396029 / 120404320
非常感谢用您的宝贵时间来阅读本文,祝您生活愉快!
系列博文
对 Action 的初步构思(2013-09-01)
对 Entity 的初步构思(2013-09-01)
轻量级 Java Web 框架技术选型(2013-09-02)
Action 分发机制实现原理(2013-09-03)
Entity 映射机制实现原理(2013-09-03)
轻量级 Java Web 框架类图(2013-09-03)
IOC 实现原理(2013-09-04)
用一个示例来说话(2013-09-04)
再来一个示例吧(2013-09-05)
事务管理实现原理(2013-09-07)
一个 CRUD 示例(2013-09-10)
AOP 实现原理(2013-09-12)
对代码生成器的一点想法(2013-09-12)
实现文件上传(2013-09-17)
实现查询与分页(2013-09-17)
代码生成器实现过程(2013-09-17)
像这样做单元测试(2013-09-18)
封装 Servlet API(2013-09-20)
关于异常处理的解决方案(2013-09-23)
再论代码生成器(2013-10-12)
讨论 Smart Framework 2.0 功能特性(2013-10-16)
使用 Smart SDK 快速开发 Java Web 应用(2013-10-17)
两种 MVC 模式(2013-10-17)
支持“正向 MVC 模式”(2013-10-18)
使用“链式代理”实现 AOP(2013-10-22)
Smart Plugin —— 从一个简单的 Cache 开始(2013-10-31)
访问安全控制解决方案(2013-11-03)
能否让 Cache 变得更加优雅?(2013-11-04)
Cache Plugin 实现过程(2013-11-07)
一个简单的 Cache 淘汰策略(2013-11-19)
发布与调用 Web 服务还能再简化吗?(2013-11-22)
初步实现 WebService 插件(2013-11-22)
初步实现 Mail 插件 —— 发送邮件(2013-11-24)
初步实现 Mail 插件 —— 收取邮件(2013-11-25)
初步实现 I18N 插件(2013-11-26)
让 Smart WebService 插件支持 REST 服务(2013-11-29)
如何处理 WebService 中的 Map 对象?(2013-12-08)
关于文件上传的改进(2013-12-15)
初步实现 Job 插件(2013-12-15)
将 Hessian 集成到 Smart 中(2013-12-26)
共同编写 Smart 2.0 开发指南(2014-01-05)
Smart 2.0 开发指南(2014-01-22)
让你的开发变得如此 Smart(2014-01-27)
从 Git@OSC 下载 Smart 源码(2014-02-05)
原来可以这样玩 SSO(2014-02-11)
单点登录解决方案 —— Smart SSO(2014-02-13)
使用 Smart Security 实现安全控制(2014-03-31)
对 Action 方法参数的改进方案(2014-04-01)
对 Smart 事务传播行为的一点想法(2014-04-18)
Smart 项目进度与规划(2014-04-21)
将 Smart 构件发布到 Maven 中央仓库(2014-04-25)
Smart 官网项目规划(2014-05-04)
对类扫描器的代码重构(2014-05-13)
让数据库连接池灵活配置(2014-05-14)
让数据访问更加自由(2014-05-15)
一个超轻量级的 ORM 框架(2014-05-19)
简单的重构让 MVC 的职责更加清晰(2014-05-20)
Smart 功能总结(2014-06-06)
Smart Framework的更多相关文章
- Smart Framework:轻量级 Java Web 框架
Smart Framework:轻量级 Java Web 框架 收藏 黄勇 工作闲暇之余,我开发了一款轻量级 Java Web 框架 —— Smart Framework. 开发该框架是为了: 加 ...
- com.panie 项目开发随笔(NoF)_环境搭建(2016.12.29)
(一) 最近做的框架一直在 spring + springmvc + mybatis 的基础上,使用框架的好处自然是 简化了自己的开发工作,定义好大的结构体系后就在里面套用方法了! 可是框架的毛病同样 ...
- 使用 IDEA + Maven + Git 快速开发 JAVA或者Web 应用(转)
0-0 前言 最近和同事做爬虫,其中我主要遇到的问题是:同事在github上放了爬虫demo让我自己去下载,然后自己能搭好环境让整个项目跑起来去抓51job找工作数据.git上克隆一个项目下来,项目是 ...
- [Maven]Maven 那点事儿
0. 前言 Jason Van Zyl,在 Java 十大风云人物排行榜上或许会看到他. 这兄弟是干嘛的? 他就是 Maven 的创始人,人们都尊称他为"Maven 他爸". 毋庸 ...
- 读《架构探险——从零开始写Java Web框架》
内容提要 <架构探险--从零开始写Java Web框架>首先从一个简单的 Web 应用开始,让读者学会如何使用 IDEA.Maven.Git 等开发工具搭建 Java Web 应用:接着通 ...
- [转]轻量级 Java Web 框架架构设计
工作闲暇之余,我想设计并开发一款轻量级 Java Web 框架,看看能否取代目前最为流行的而又越来越重的 Spring.Hibernate 等框架.请原谅在下的大胆行为与不自量力,本人不是为了重造轮子 ...
- 一位10年Java工作经验的架构师聊Java和工作经验
从事近十年的 JavaEE 应用开发工作,现任阿里巴巴公司系统架构师.对分布式服务架构与大数据技术有深入研究,具有丰富的 B/S 架构开发经验与项目实战经验,擅长敏捷开发模式.国内开源软件推动者之一, ...
- Maven 那点事儿(转)
0. 前言 Jason Van Zyl,在 Java 十大风云人物排行榜上或许会看到他. 这兄弟是干嘛的? 他就是 Maven 的创始人,人们都尊称他为“Maven 他爸”. 毋庸置疑,Jason 也 ...
- windows类书的学习心得
原文网址:http://www.blogjava.net/sound/archive/2008/08/21/40499.html 现在的计算机图书发展的可真快,很久没去书店,昨日去了一下,真是感叹万千 ...
随机推荐
- 基于.net开发chrome核心浏览器【二】
原文:基于.net开发chrome核心浏览器[二] 一: 上一篇的链接: 基于.net开发chrome核心浏览器[一] 二: 相关资源介绍: chrome Frame: 让IE有一颗chrome的心, ...
- include设置属性在relativelayout布局中无效
转自:http://4265337.blog.163.com/blog/static/195375820127935731114/ 再来说一个在使用这两个标签时最容易出现的问题. 经常会有同学在Rel ...
- Codeforces Round#310 div2
C题:这题说的是套娃,如果做题的时候知道是套娃,那就好理解多了 规则1:套娃A可以放到套娃B里面,当且仅当套娃B没有放在其他套娃里面 规则2:套娃A放在套娃B里面,且套娃B没有放在其他套娃里面,那么可 ...
- STM32F103 TIM1输出PWM设置
//TIM1 分频 #define TIM1_DIV1 (1-1) #define TIM1_DIV2 (2-1) #define TIM1_DIV4 (4-1) #define TIM1_DIV8 ...
- hdu2818行列匹配+排序
题意:给定一个矩阵,矩阵上有的数字是1,有的是0,给定两种操作,交换某两行或者某两列,问是否能置换出对角线为1的矩阵 题解:能够置换出对角线是1的矩形要求有n个1既不在同一行也不再同一列,即行列匹配, ...
- 转载:PHP时间戳 strtotime()使用方法和技巧
在php中我想要获取时间戳有多种方法,最常用的就是使用time函数与strtotime()函数把日期转换成时间戳了 获取指定的年月日转化为时间戳:pHP时间戳函数获取指定日期的unix时间戳 strt ...
- 23设计模式(3):Abstract Factory模式
定义:要创建一组相关或依赖对象提供一个接口,而你并不需要指定其具体类别. 类型:创建一个类模型 类图: 抽象工厂模式与工厂方法模式的差别 抽象工厂模式是工厂方法模式的升级版本号,他用来创建一组相关或者 ...
- Linux shell用法和技巧(转)
使用Linux shell是我每天的基本工作,但我经常会忘记一些有用的shell命令和l技巧.当然,命令我能记住,但我不敢说能记得如何用它执行某个特定任务.于是,我开始在一个文本文件里记录这些用法,并 ...
- [转载] C++11新特性
C++11标准发布已有一段时间了, 维基百科上有对C++11新标准的变化和C++11新特性介绍的文章. 我是一名C++程序员,非常想了解一下C++11. 英文版的维基百科看起来非常费劲,而中文版维基百 ...
- Java二叉排序树(转)
一.二叉排序树定义 1.二叉排序树的定义 二叉排序树(Binary Sort Tree)又称二叉查找(搜索)树(Binary Search Tree).其定义为:二叉排序树或者是空树,或者是满足如下性 ...
