Smart Framework 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
Smart Framework 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
Smart Framework 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」 !
Smart Framework 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」「最积极运营项目」 !
Smart Framework 获得 2020 年度 OSC 中国开源项目评选「最积极运营项目」 !

软件简介

Smart Framework 是一款轻量级 Java Web 开发框架,基于“核心 + 插件”的体系架构

  1. 基于 Servlet 3.0 规范,不依赖于 Spring、Hibernate 等开源框架。
  2. 提供 IOC、AOP、ORM 等轻量级解决方案,并具备良好的可扩展性。
  3. 前端直接使用 HTML + CSS + JS 开发模式,同时也兼容 JSP、JSTL、Tag 等技术。
  4. 后端提供 REST 服务接口(基于 JSON 格式)。
  5. 没有任何的 XML 配置文件,真正的零配置。

随时欢迎您的建议或意见!

系列博文:http://my.oschina.net/huangyong/blog/158380

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论 (13)

加载中
打分: 力荐
作为学习用再好不过
2018/07/13 10:19
回复
举报
很久没更新了啊
2018/01/23 11:55
回复
举报
打分: 力荐
很不错的学习框架,源码没有spring 那么庞然大物,但又麻雀虽小五脏俱全 作者设计思路清晰易懂,作为学习来说真的是十分优秀
2017/03/19 10:09
回复
举报
打分: 推荐
挺好的,能够更好的理解框架
2017/02/24 18:12
回复
举报
支持,了解下 Smart Framework
2013/10/24 11:23
回复
举报
下载了项目,必须要使用maven吗?我不想使用maven怎么整 Smart Framework
2014/08/11 23:09
回复
举报
@黄勇 我看了你的 Smart Framework 框架,感觉很棒,一个项目需要的东西基本都有了,尤其是使用commons-dbutils,这是我所青睐的,另外看了您对文章留言的回复,也感叹您对spring等框架的深入了解,所以我准备在一个科研微系统中使用smart,希望它不是"small smart"。
2015/01/19 15:50
回复
举报
请问 Smart Framework 可以使用多个数据源吗?并且是否可以做到多个数据源的数据一致性,也就是多数据源事物。谢谢! #Smart Framework#
2015/07/14 11:29
回复
举报
能否支持freemaker? #Smart Framework#
2015/09/01 15:57
回复
举报
mark,关注关注 #Smart Framework#
2016/02/02 15:45
回复
举报
更多评论
发表了资讯
2014/06/04 00:00

Smart Framework v2.3 发布

历时一个多月,Smart Framework v2.3 终于发布了! 在该版本中,主要对代码进行了重构,让结构更加清晰,职责更加合理。在框架中对外暴露了一些接口,框架自身提供了一个默认的实现,这样非常方便开发者进行扩展或定制。此外,还提供了几个新的插件。 具体的更新信息如下: 新特性 提供基于 Web 的插件(WebPlugin),可实现 Servlet/Filter/Listener 的注册 提供 DataSourceFactory 接口及其默认实现,可配置相应的连接池实现 ...

12
31
发表了资讯
2014/04/23 00:00

Smart Framework v2.2 发布

本月提前发布 Smart 2.2 版本,该版本的 changlog 如下: 【特性】 - 支持基本的事务传播机制(感谢 Dead_knight 提供的建议) - 在 Job 插件中添加支持立即运行的特性(感谢 cuser 提供的建议) - 提供 Smart Cache 模块,默认基于内存实现,可独立于 Smart Framework 使用 - 提供 Smart Cache for EhCache 实现 - 提供 Smart Cache for Redis 实现(感谢 鲁家宁 提供的实现) - 可通过前缀在 smart.properties 中获取相关的属...

18
30
发表了资讯
2014/03/27 00:00

Smart Framework 2.1 发布,轻量级 Java 框架

Smart 2.1 经过将近两个月的开发,终于跟大家见面了,以下是详细的 changelog: 【特性】 - 在 WebService 插件中支持 Ajax 跨域请求(可支持 JSONP 与 CORS 两种)【#20】 - 提供 Smart SSO 模块,封装了 CAS 单点登录框架【#21】 - 使用父子 Maven 结构【#22】 - 提供 changelog 文档【#44】 - 新增 XML-RPC 插件【#48】 - 可在 web.xml 中配置错误页面 - 提供 Smart Security 模块,封装了 Shiro 权限控制框架 - 可配置应用首...

9
31
发表了资讯
2014/01/30 00:00

Smart Framework 2.0 正式版发布!

除夕之夜,Smart Framework 2.0 终于与大家见面了!现在 Smart 的项目成功案例已经诞生了,大家不妨也去尝试一下吧。 2.0 版本最大的特色就是提供了许多常用的插件,它们分别是: Cache:基于注解或使用 Cache API WebService:发布与调用 SOAP 服务或 REST 服务 Mail:邮件发送与收取 I18N:国际化多语言包 Job:基于 Quartz 的 cron 表达式的任务调度框架 Hessian:通过 HTTP 传输二进制数据 Template:基于 Velocity 的模板引...

13
73
发表了资讯
2013/11/02 00:00

Smart Framework V1.4 发布

Smart Framework V1.4 发布 1. 【特性】可使用 @Order 注解定义 AOP 拦截顺序 2. 【特性】在 AOP 的后置增强中提供方法返回值 3. 【改进】使用单例模式重构了所有 Helper 类 4. 【改进】使用链式 AOP 重构了事务控制代理 5. 【改进】使用 Listener 初始化系统资源 6. 【缺陷】修复了 Sample 应用的 Context 不是 ROOT 时的 Bug...

8
6
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表了博客
2013/11/02 13:48

Smart framework 缓存插件的实现

Smart是一个轻量级的java web框架,里面已经实现了IOC,AOP以及事务管理,同时也实现了MVC模块。本插件是基于Smart的AOP来进行实现的。目标是:在不需要改变当前业务代码的情况下将缓存功能嵌入进去,本实现参考了Spring以及JCache,最终希望达到灵活,易用目的。 该插件是基于Smart的AOP来实现,关于Smart的AOP可以通过《使用“链式代理”实现 AOP》 和《AOP实现原理》来了解。在BaseAspect基础上再构造了一个抽象类,粘出代码...

2
10
发表于大前端专区
2013/10/16 11:26

讨论 Smart Framework 2.0 功能特性

本文是《轻量级 Java Web 框架架构设计》的系列博文。 相信大家经过前面的讨论,已经对 Smart Framework 有所感觉了。它是一个轻量级 Java Web 框架,服务端发布基于 REST 风格的服务接口,客户端直接使用 HTML 作为页面展现,通过 AJAX 与服务端进行通信,获取数据后通过 DOM 的方式进行界面渲染。框架基于 Servlet 3.0 规范,直接使用 JDBC 操作数据库,提供了 MVC、IOC、AOP、ORM、DAO、事务控制、异常处理、单元测试等核心功...

10
23
2016/11/27 20:51

org.smart4j.framework AOP笔记

Proxy:代理接口,Object doProxy(ProxyChain proxyChain)执行链式代理,多个代理同个链串起来,一个一个执行。 ProxyChain:代理链,用ArrayList<Proxy>封装,定义了目标类,目标对象,目标方法,方法代理,方法参数,代理列表, 代理索引,当代理索引小于代理列表上限,就从代理列表中取出对象的Proxy对象,调用其doProxy(ProxyChain proxyChain) 方法,Proxy接口的具体实现提供横切逻辑并调用proxyChain的doProxyChain()方法...

0
0
发表了博客
2015/06/18 14:23

smart-framework框架学习之DispatcherServlet分发机制

最近几天,工作之余在学习黄勇老师的Smart-Framework框架,希望自己可以借此机会,对于web开发能力可以更近一步。 本文对于DispatcherServlet分发机制进行细致化的分析解读,若有地方不妥,万望指出,谢谢。 # DispatcherServlet.java是Smart-Framework框架中的Controller,对应于web请求,DispatcherServlet.java将其分发到处理该请求的action去。 首先,DispatcherServlet.java在系统启动时,默认启动init(ServletConfig)方法...

0
2
2016/11/26 22:43

org.smart4j.framework的MVC部分学习笔记

ConfigConstant :接口,配置常量 PropsUtil:属性文件工具类 ConfigHelper:属性文件助手类,用PropsUtil结合ConfigConstant加载properties文件,有个Properties成员 ClassUtil:类操作工具类,获取类加载器,加载类,获取指定包名下的所有类 annotation:Action,Controller,Inject,Service ClassHelper:类操作助手类,成员Set存放所加载的类,获取应用包名下的所有类,Service,Controller,Bean类 ReflectionUtil:反射工具类,用于...

0
1
发表于开发技能专区
2013/09/01 08:39

Smart Framework:轻量级 Java Web 框架

工作闲暇之余,我开发了一款轻量级 Java Web 框架 —— Smart Framework。 开发该框架是为了: 加速基于 Java 的中小型 Web 应用程序的开发,让开发人员将更多的精力集中到业务上,而无需过多地关心底层技术细节。 推广国内开源事业的发展,吸引更多有想法并且有开源奉献精神的朋友,一起共同探讨,并分享自己的经验。 对于个人而言,我想结交更多志同道合的朋友,将来有机会能够一起做点事情。 该框架有如下特点: 基于 Servle...

216
863
发表了博客
2018/03/30 17:49

Smart Framework:轻量级 Java Web 框架

Smart Framework:轻量级 Java Web 框架 收藏 黄勇 工作闲暇之余,我开发了一款轻量级 Java Web 框架 —— Smart Framework。 开发该框架是为了: 加速基于 Java 的中小型 Web 应用程序的开发,让开发人员将更多的精力集中到业务上,而无需过多地关心底层技术细节。 推广国内开源事业的发展,吸引更多有想法并且有开源奉献精神的朋友,一起共同探讨,并分享自己的经验。 对于个人而言,我想结交更多志同道合的朋友,将来有机会能...

0
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表了问答
2016/04/08 18:56

Mac 上部署smart-framework,反射问题

@黄勇 你好,想跟你请教个问题: 您好!上次问过您的源码运行后,访问URL,出错:ReflectionUtil.invokeMethod()报java.lang.IllegalArgumentException: wrong number of arguments,您让我看一下idk版本后换成1.6,但是仍没有解决,我想是不是和我的电脑有关系那?我用的是Mac mini ,系统是OS X10.11的,今天在网上搜到一篇文章http://www.apple.com/pr/library/2010/11/12Oracle-and-Apple-Announce-OpenJDK-Project-for-Mac...

4
0
发表了问答
2016/03/05 09:38

smart framework的实体类参数类型问题

@黄勇 你好,想跟你请教个问题:在用smart framework 框架时的实体类参数类型有什么限制吗?数据库里的date 字段类型需要用Java里的Date数据类型对应吗?

1
0
发表了问答
2015/12/30 17:00

JSP页面好像引入不了js,css文件,需要设置什么吗?

如题,在jsp页面上引入js文件好像不起作用 <script type="text/javascript" src="./jquery/jquery.easyui.min.js"></script> 用了各种方法,比如${pageContext.request.contextPath},相对路径,绝对路径都没反应,直接在浏览器输入文件地址就一片空白,不知道有朋友碰过这种问题没?

2
0
发表了问答
2015/12/29 10:40

启动后访问页面报错:java.lang.illegalargumentexception wrong number of arguments

@黄勇 你好,想跟你请教个问题: 黄老师,你好。 我将你的书《架构探险》的源代码在eclipse执行,用jdk1.6,建了表customer,当我访问页面时总是报 java.lang.IllegalArgumentException: wrong number of arguments   sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)   sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)   sun.reflect.DelegatingMethodAccessorImpl.invoke(Delegat...

1
0
发表了问答
2015/11/26 08:57

chapter3 怎么添加smart-framework这个项目的依赖

@黄勇 你好,想跟你请教个问题:我买了您的框架探险(从零开始写java web 框架)的那本书,在74页那里给chapter3添加smart-framework version 1.0.0 这里 ,version 1.0.0这个始终是红色,请问chapter3 怎么添加smart-framework这个项目的依赖

1
0
发表了问答
2015/11/23 22:26

Smart framework并发问题

@黄勇 你好,想跟您请教个问题:在看您写的《架构探险》,还没有看完,但是现在想向您抛出一个问题:您书上说BeanHelper的那个beanMap里的bean都是单例,这样的话两个用户同时访问同一个url资源的话会怎样?假如这个url资源前面有Aspect注解,两个用户岂不是共用一条proxyChain?这时会不会出现并发的问题?谢谢。

1
0
发表了问答
2015/06/18 08:54

关于smart的问题

@黄勇 你好,想跟你请教个问题: 您好! 新书还没有上架的么?早都迫不及待了啊,

4
0
发表了问答
2015/06/05 16:41

关于smart的继续更新

@黄勇 你好,想跟你请教个问题: 您的这个smart不是很好的,为什么就不更新了呢? 您之前有说整在酝酿一个更轻量级的,能共享或者透露一下么?

2
0
发表了问答
2015/05/17 21:24

关于Smart FrameWork

@黄勇 你好,想跟你请教个问题: 因为公司也使用maven,和oschina有冲突,能不能把您的2.3的smart(带jar)给我发一份呢? yuan496_01@163.com 不胜感激,谢谢您。

1
0
发表了问答
2015/04/30 14:31

关于您的这个Smart

@黄勇 你好,想跟你请教个问题: 关于您的这个Smart还做更更新吗?还有,记得您之前有说过想构思一个更轻量级的框架,不知道您是打算什么时候开始呢?都迫不及待享受你的代码了

1
0
发表了问答
2015/01/29 10:49

初次使用遇到的bug

@黄勇 你好: 读了下代码:试着用了下关于WebUtil有些小bug: private static boolean checkParamName(String paramName) { return !paramName.equals("_"); // 忽略 jQuery 缓存参数 } 没有考虑到其他的缓存参数,如ext的ajax中的_dc=XXXXXX;容易导致action映射映射报错:参数个数不匹配; 还有个问题没有很好处理: @Request.Get("/test") public View test() {     return new View("test.jsp"); } 这种方法必须无...

4
0
发表了问答
2014/11/13 22:35

smart框架适合android后台开发么

@黄勇 你好,想跟你请教个问题: smart 使用restful 规范,CRUD对应不同的请求方式。但是在android开发的时候,大都是用Get 方式, 请问该如何实现呢? 希望有经验的前辈指教,谢谢

11
0
发表了问答
2014/11/13 22:32

使用smart2.3.1的时候,分页的时候遇到的问题

@黄勇 你好,想跟你请教个问题: 在smart2.3.1下,使用mssql的时候,分页遇到 大家使用过程中有遇到么?

2
0
发表了问答
2014/10/18 16:11

Mysql8小时断线,请问如何解决?

黄大侠: 用你的Framework中,在实际生产环境中,发现有很多的 java.sql.SQLException: Could not retrieve transation read-only status server Query: insert into的错误日志, 具体是在Mysql 8小时后,就会出现此错误(主要是insert / update / delete事务会出现),请问如何这个错误? 谢谢。 生产环境: Tomcat 7,MySQL5.6.21,Druid1.0.9...

8
0
发表了问答
2014/05/04 14:23

异步请求框架的问题 咨询smart详情

@黄勇 你好,想跟你请教个问题: 很抱歉还没有仔细看你的smart框架就来请教您问题啊,我想问的就是,就目前而言ssh框架比较流行,但我并不是很喜欢,它的这种模式是后台将所有的页面模板渲染成html后返回前台的,每次都要全局刷新,当然也可以实现异步刷新。之前自己做过一点东西试着用一种所有都是异步并且前台使用html+css+js来实现 后台无论采取什么样的链接 我要的目的是返回一个json字符串,然后前台利用jquery进行拼接内嵌...

1
0
发表了问答
2013/11/13 18:01

apache dbcp+dbutils的问题

@黄勇 您好 在看您的smart源码的时候 DBHelper类中 private final BasicDataSource ds = new BasicDataSource(); private final QueryRunner runner = new QueryRunner(ds); QueryRunner 传入 数据源 是不是在使用的时候 就不用去考虑数据库的关闭问题了?

4
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
13 评论
328 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部