Smart Framework:轻量级 Java Web 框架
工作闲暇之余,我开发了一款轻量级 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)
架构师之路16年精选50篇
Smart Framework:轻量级 Java Web 框架的更多相关文章
- [转]轻量级 Java Web 框架架构设计
工作闲暇之余,我想设计并开发一款轻量级 Java Web 框架,看看能否取代目前最为流行的而又越来越重的 Spring.Hibernate 等框架.请原谅在下的大胆行为与不自量力,本人不是为了重造轮子 ...
- 架构探险笔记3-搭建轻量级Java web框架
MVC(Model-View-Controller,模型-视图-控制器)是一种常见的设计模式,可以使用这个模式将应用程序进行解耦. 上一章我们使用Servlet来充当MVC模式中的Controller ...
- 架构探险——第三章(搭建轻量级Java Web框架)
解决的问题 servlet的数量会随业务功能的扩展而不断增加,我们有必要减少servlet的数量,交给controller处理,它负责调用service的相关方法,并将返回值放入request或res ...
- 读《架构探险——从零开始写Java Web框架》
内容提要 <架构探险--从零开始写Java Web框架>首先从一个简单的 Web 应用开始,让读者学会如何使用 IDEA.Maven.Git 等开发工具搭建 Java Web 应用:接着通 ...
- maven Spring+Spring MVC+Mybatis+mysql轻量级Java web开发环境搭建
之前一直在做的一个GIS系统项目,采用了jsp+servlet框架,数据传输框架采用了apache的thrift框架,短时多传的风格还不错,但是较其他的java web项目显得有点太臃肿了,现在给大家 ...
- JAVA web 框架集合
“框架”犹如滔滔江水连绵不绝, 知道有它就好,先掌握自己工作和主流的框架: 在研究好用和新框架. 主流框架教程分享在Java帮帮-免费资源网 其他教程需要时间制作,会陆续分享!!! 152款框架,你还 ...
- 初识轻量级Java开源框架 --- Spring
初识轻量级Java开源框架 --- Spring 作者:egg 微博:http://weibo.com/xtfggef 出处:http://blog.csdn.net/zhangerqing spri ...
- Resty 一款极简的restful轻量级的web框架
https://github.com/Dreampie/Resty Resty 一款极简的restful轻量级的web框架 开发文档 如果你还不是很了解restful,或者认为restful只是一种规 ...
- Java Web框架前景浅析
基于三(多)层架构模式,典型WEB系统的总体架构如下图所示: 在上述分层架构中,整个应用被划分为两大部分: 客户端:基于浏览器提供信息展现.用户交互等功能.所采用的技术主要有:HTML/HTML5.J ...
随机推荐
- Codeforces Round #340 (Div. 2) E. XOR and Favorite Number 【莫队算法 + 异或和前缀和的巧妙】
任意门:http://codeforces.com/problemset/problem/617/E E. XOR and Favorite Number time limit per test 4 ...
- Windows XP和Wndows7误删除了注册表下.exe文件夹之修复办法
在桌面空白处鼠标右击选择“新建-文本文档”,然后将下面的代码复制粘贴进去;如图所示: Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\. ...
- 【luogu P2984 [USACO10FEB]给巧克力Chocolate Giving】 题解
题目链接:https://www.luogu.org/problemnew/show/P2984 练习SPFA,把FJ当做起点,求出到所有牛的最短路,再把两个牛的相加. #include <cs ...
- 我和我的广告前端代码(六):webpack工程合并、也许我不需要gulp
随着年初开始使用webpack重构公司的广告代码,已经有将近一年的时间了,需求也渐渐的稳定了.我想也是时候将这几个工程整理一下,顺带着处理一些历史问题. 由于当年各个业务线没有整合.需求也没有固定,考 ...
- 史上最简单的 SpringCloud 教程 | 第十四篇: 服务注册(consul)
转载请标明出处: 原文首发于:https://www.fangzhipeng.com/springcloud/2017/07/12/sc14-consul/ 本文出自方志朋的博客 这篇文章主要介绍 s ...
- 框架篇 -- Struts2
Struts框架很很早接触的一个框架知识,已经不那么频繁使用了,但是总结一下,复习一下还是很有必要的; Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MV ...
- oracle client安装与配置
(一)安装Oracle client 环境:windows7 64-bit.oracle client 64-bit (1)解压client安装包 (2)双击setup.exe,选择管理员,一直nex ...
- rank() over,dense_rank() over,row_number() over的区别
rank() over,dense_rank() over,row_number() over的区别 1.rank() over:查出指定条件后的进行排名.特点是,加入是对学生排名,使用这个函数,成绩 ...
- oracle远程导出/导入
创建db_link,远程导出/导入.expdp/impdp Oracle数据库本地磁盘空间有限,或应用系统的需要,会通过远程的方式导出数据库.在oracle当中,exp远程导库的速度太慢,而expdp ...
- c# 一种缓存模板
在很多项目中,尤其是服务端,我们需要临时缓存一些数据,对于完整的我就不说了.主要的保持方法有: 1.大型数据库 2.缓存组件 3.文件(按照自己定义的格式存储) 4.一些缓存数据库(sqlte,h2, ...