文档章节

Smart Framework:轻量级 Java Web 框架

黄勇
 黄勇
发布于 2013/09/01 08:39
字数 1171
阅读 106607
收藏 833

工作闲暇之余,我开发了一款轻量级 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 群: 746881986 / 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)

© 著作权归作者所有

共有 人打赏支持
黄勇

黄勇

粉丝 6216
博文 121
码字总数 216155
作品 1
浦东
CTO(技术副总裁)
加载中

评论(214)

哈桑不服屁哦分
哈桑不服屁哦分

引用来自“黄勇”的评论

引用来自“zhangwdcdd”的评论

书本里面和代码里面没有什么测试代码 写完一个功能点 都是懵的 这点做得太不好了

回复@zhangwdcdd : 确实需要好好改进,多谢您的建议。
这个框架提供了一个地方去思考和讨论,真的非常好,支持感谢。
哈桑不服屁哦分
哈桑不服屁哦分

引用来自“gao_einstein”的评论

您好,我看书上的代码跟码云上3年前的代码差别挺大,是码云上的代码做了优化是吧?
是的
g
gao_einstein
您好,我看书上的代码跟码云上3年前的代码差别挺大,是码云上的代码做了优化是吧?
黄勇
黄勇

引用来自“zhangwdcdd”的评论

书本里面和代码里面没有什么测试代码 写完一个功能点 都是懵的 这点做得太不好了

回复@zhangwdcdd : 确实需要好好改进,多谢您的建议。
zhangwdcdd
zhangwdcdd
我评论的被删除了?
zhangwdcdd
zhangwdcdd
书本里面和代码里面没有什么测试代码 写完一个功能点 都是懵的 这点做得太不好了
(
(⊙_⊙)?

引用来自“专业打酱油”的评论

1、白话文
2、中小项目springMVC+jdbc+html+jquery,成本不高,基本都会
3、这个项目想法是很好的
4、说到轮子,自己是必须要重复造轮子的,否则你永远也不知道已经有的轮子是经过多么艰苦的创超才出来的!- -!
5、重复的轮子都造不出来更别说新的轮子了
6、尽量把你说的1.2.3.等特点都做成插件似的,随时可去掉不需要的功能和特点,反之依赖越少越好,增减都很轻松
7、其实我觉得servlet已经足以满足所有需求,只不过人们说是更加注重效率,其实是没有最懒,只有更懒,没有最少成本,只有更少成本。
8、我觉得只需要给出核心框架,其他的就开分支吧,有需要的人自己加上需要的功能。
9、个人框架没有社区是很难维护的,累啊
10、我觉得弄几个工具类比什么轻量级框架学习和使用成本更低,效率也不会低
11、ORM框架就是个坑
12、最后顶一下!
不想造轮子的程序员不是好程序员,顶一下
李锡钒
李锡钒
师兄您好,虽然这个框架已经很久了,我也是刚刚接触的,想问下,tomcat容器读取spring项目的时候是通过web.xml里的配置记载框架的,smartframework没有使用xml,请问这个加载框架的入口在哪里呢?知道师兄比较忙,还请师兄看到的时候回复下,谢谢
Kevin_Zhan
Kevin_Zhan
您好,请问下 书本上对应的源码是什么版本?因为发现几个地方不同,例如 ClassHelper 书上是final修饰,但是在2.0 ,1.0都没发现final?
ShortHand
ShortHand
虽然SmartFramework比不上SpringMVC,但是SmartFramework能让大部分源码研究者获得提升,谢谢!
讨论 Smart Framework 2.0 功能特性

本文是《轻量级 Java Web 框架架构设计》的系列博文。 相信大家经过前面的讨论,已经对 Smart Framework 有所感觉了。它是一个轻量级 Java Web 框架,服务端发布基于 REST 风格的服务接口,客...

黄勇
2013/10/16
0
9
Smart 2.0 开发指南 —— 架构

1 技术选型 Smart Framework 在技术选型方面做了多方面的考虑,必须拥有较高的市场占有率,并且具有丰富的参考资料。 详细的技术选型如下: Web 框架 使用 Servlet 3.0 规范,可部署在 Tomc...

黄勇
2014/01/22
0
4
整理出一些使用比较广或者个人觉得比较好的java开源项目和资料供参考

1.整理出一些使用比较广或者个人觉得比较好的java开源项目和资料供参考。 2. 如果你觉得好但是我没有列出的开源项目请告诉我,方便我添加到列表里。 3. 如果你发现信息描述有误请联系我,我会及...

写代码的奥特曼
2017/10/23
0
0
Eclipse轻松玩转SmartFramework

SmartFramework框架和 SmartSample都是使用Maven构建,使用IDEA开发的。对于像我这样使用Eclipse,又不熟悉Maven的人来说,想玩转smart多少有些难度。这里是我在Eclipse中运行smart-sample的...

大漠真人
2013/11/24
0
2
Smart framework 缓存插件的实现

Smart是一个轻量级的java web框架,里面已经实现了IOC,AOP以及事务管理,同时也实现了MVC模块。本插件是基于Smart的AOP来进行实现的。目标是:在不需要改变当前业务代码的情况下将缓存功能嵌...

Bieber
2013/11/02
0
2

没有更多内容

加载失败,请刷新页面

加载更多

下一页

咕泡-Factory设计模式笔记

个人感悟: 设计模式都是处理复杂问题的,如果问题本身很简单,使用设计模式反而累赘,增加了开发的复杂性 遇到最简单的情况,直接 new 如果创建对象的过程简单,但是需要匹配不同情况,返回...

职业搬砖20年
28分钟前
0
0
Java中的锁分类

在读很多并发文章中,会提及各种各样锁如公平锁,乐观锁等等,这篇文章介绍各种锁的分类。介绍的内容如下: 公平锁/非公平锁 可重入锁 独享锁/共享锁 互斥锁/读写锁 乐观锁/悲观锁 分段锁 偏...

Funcy1122
36分钟前
0
0
Ansible随机数

想为你的Ansible剧本取一个随机数?还想在接下来的运行中保持系统的等幂性?这里有一个答案。 假如,你要为一大批服务器设置cron任务,却不想让它们同时启动,你可以这样设置分钟数: minute...

大别阿郎
45分钟前
0
0
SpringCloud之服务注册中心Eureka

本系列介绍的配置均基于 Spring Boot 2.0.1.RELEASE 版本和 Spring Cloud Finchley.SR1 服务注册中心 Spring Cloud 已经帮我们实现了服务注册中心,我们只需要很简单的几个步骤就可以完成。 ...

熊小飞呀
今天
16
1
“Comparison method violates ...”异常的再现方法

前提条件:JDK8 代码: import java.util.ArrayList;import java.util.Collections;import java.util.Comparator;import java.util.List;public class Test { public stat......

hunterli
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部