Smart Framework:轻量级 Java Web 框架
 

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

架构师之路16年精选50篇

转载 2017年02月13日 19:05:04
  • 7332
2016精选索引,点击标题阅读相关文章。
 
【方法论】
 
【数据库与缓存】
 
【服务化与为服务】
 
【消息系统】
 
【架构实践】
 
【一分钟系列】
 
【通用素质】

Smart Framework:轻量级 Java Web 框架的更多相关文章

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

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

  2. 架构探险笔记3-搭建轻量级Java web框架

    MVC(Model-View-Controller,模型-视图-控制器)是一种常见的设计模式,可以使用这个模式将应用程序进行解耦. 上一章我们使用Servlet来充当MVC模式中的Controller ...

  3. 架构探险——第三章(搭建轻量级Java Web框架)

    解决的问题 servlet的数量会随业务功能的扩展而不断增加,我们有必要减少servlet的数量,交给controller处理,它负责调用service的相关方法,并将返回值放入request或res ...

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

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

  5. maven Spring+Spring MVC+Mybatis+mysql轻量级Java web开发环境搭建

    之前一直在做的一个GIS系统项目,采用了jsp+servlet框架,数据传输框架采用了apache的thrift框架,短时多传的风格还不错,但是较其他的java web项目显得有点太臃肿了,现在给大家 ...

  6. JAVA web 框架集合

    “框架”犹如滔滔江水连绵不绝, 知道有它就好,先掌握自己工作和主流的框架: 在研究好用和新框架. 主流框架教程分享在Java帮帮-免费资源网 其他教程需要时间制作,会陆续分享!!! 152款框架,你还 ...

  7. 初识轻量级Java开源框架 --- Spring

    初识轻量级Java开源框架 --- Spring 作者:egg 微博:http://weibo.com/xtfggef 出处:http://blog.csdn.net/zhangerqing spri ...

  8. Resty 一款极简的restful轻量级的web框架

    https://github.com/Dreampie/Resty Resty 一款极简的restful轻量级的web框架 开发文档 如果你还不是很了解restful,或者认为restful只是一种规 ...

  9. Java Web框架前景浅析

    基于三(多)层架构模式,典型WEB系统的总体架构如下图所示: 在上述分层架构中,整个应用被划分为两大部分: 客户端:基于浏览器提供信息展现.用户交互等功能.所采用的技术主要有:HTML/HTML5.J ...

随机推荐

  1. 【[SCOI2015]情报传递】

    非常无脑的板子题,就当是练一下板子 我们可以先将所有的操作离线下来,之后那些搜集过情报的点就有了点权,对于查询操作,就是查询一下这条路径上有几个点点权满足\(st<=now-C+1\) #inc ...

  2. 【[JLOI2014]松鼠的新家】

    //第一次A掉紫题就来写题解,我是不是疯了 //说实话这道题还是比较裸的树上差分 //对于树上的一条路径(s,t),我们只需要把ch[s]++,ch[t]++,ch[LCA(S,T)]--,再把lca ...

  3. 2018.10.31 Mac下的Mysql修改字符编码修改的问题总结

    今天在弄数据库的时候发现存入中文汉字变成了问号,Mac跟windows处理方式不一样. show variables like '%char%'; 查看当前mysql的编码格式 也就是默认编码格式 + ...

  4. euclidean loss

    个人感觉相当于L2范式开平方,也相当于针对两个向量的欧氏距离开平方 说的更直白点就是两个向量对应位置相减得到每个位置的差,然后把每个位置的差开平方再相加 前向传播cpp代码: template < ...

  5. python 解决粘包问题

    客户端发送hello,如果服务端 recv(1) ,那只能接收到 h 这一个字符,然后再recv(1) 一下,可以再接收一个 e , 因为客户端发送的结果长,所以只能把其他的先缓存下来,下次recv的 ...

  6. GPU卡掉卡

    这几天用GPU卡跑东西,老是提示opencv的一个问题.但是我换个数据跑就没问题.说明代码是没问题的.发挥我作为女人的特质,从起试试吧.结果从起后找不到GPU卡了.nvidia-smi提示我没有安装最 ...

  7. 课时15.DTD文档声明下(了解)

    W3C的官方网站是W3School,我们可以去官方网站查询DTD文档声明. HTML4.01       Strict  非常严谨的 如果你写了这个DTD文档声明,你就不能写如下样式: <fon ...

  8. vue-resource+iview上传文件取消上传

    vue-resource+iview上传文件取消上传 子组件: <template> <div class="upload-area-div"> <U ...

  9. 经验之谈—控制器的view的显示

    经验之谈—控制器的view的显示 开发中,我们经常需要将一个控制器的view添加到另一个控制器的view上,这种效果是我们期望看到的,但是里边隐藏着一些细节,不注意的话,可能会达不到我们想到的效果. ...

  10. JetBrains 授权服务器(License Server):

    JetBrains 授权服务器(License Server): https://www.imsxm.com/jetbrains-license-server.html