Smart Framework v2.3 发布

黄勇
 黄勇
发布于 2014年06月04日
收藏 31

历时一个多月,Smart Framework v2.3 终于发布了!

在该版本中,主要对代码进行了重构,让结构更加清晰,职责更加合理。在框架中对外暴露了一些接口,框架自身提供了一个默认的实现,这样非常方便开发者进行扩展或定制。此外,还提供了几个新的插件。

具体的更新信息如下:

新特性

  • 提供基于 Web 的插件(WebPlugin),可实现 Servlet/Filter/Listener 的注册

  • 提供 DataSourceFactory 接口及其默认实现,可配置相应的连接池实现

  • 提供 ClassScanner 接口及其默认实现

  • 提供 DataAccessor 接口及其默认实现

  • 提供 HandlerMapping 接口及其默认实现类

  • 提供 ViewResolver 接口及其默认实现类

  • 提供 HandlerInvoker 接口及其默认实现类

  • 提供 HandlerExceptionResolver 接口及其默认实现类

改进

  • 规范代码中的注释格式

  • 规范 smart.properties 配置文件的配置项命名规则,使用了相应的前缀

  • 使用 Entity 注解定义实体类,废弃 BaseEntity 父类

  • 对 DataSet 相关代码做了优化

  • 获取类的字段时可忽略 static 字段

  • 重构 ClassUtil 类,将类扫描的相关代码移入 ClassScanner 接口及其实现中

  • 当调用 ClassUtil 的 loadClass 方法时默认进行初始化

  • 实现转换 condition/sort 表达式,可将 Field 转换为 Column

  • 改进 Action 参数不匹配时的报错信息

  • 完善 readme 文件,提供了一份 Smart Framework 的简明教程

Bug 修复

  • 修复 e.getCause() 为 null 的 Bug

  • 修复了当 fieldMap 为空时,执行 SQL 语句失败的 Bug

其它

  • 提供 C3P0 插件,另一种连接池实现

  • 提供 Druid 插件,可进行连接池监控

  • 提供 MyBatis 插件(感谢 abel533 的贡献)

  • 提供 Redis Cache 模块(感谢 蛙牛 的贡献)

  • 将 Security 模块改造为插件,并提供基于注解的授权特性

  • 在 Security 插件中,修复了获取 getPermissionNameSet 的一个 Bug

感谢您对 Smart Framework 的关注,随时期待着您的建议!

Smart Framework 项目地址:http://git.oschina.net/huangyong/smart-framework
Smart Framework 系列博文:http://my.oschina.net/huangyong/blog/158380


本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 OSCHINA 社区 [http://www.oschina.net]
本文标题:Smart Framework v2.3 发布
加载中

最新评论(12

黄勇
黄勇

引用来自“闲庭风”的评论

git仓库又分开了吗? 更新代码不方便了!
经很多朋友们建议,目前插件已经比较多了,将来有可能更多,放在一个项目里维护成本太高,况且有些插件是其他开发者开发的,所以分开管理比较合理一些。
闲庭风
闲庭风
git仓库又分开了吗? 更新代码不方便了!
3322
3322
自从php有了class以后,就开始走java2000年初的路子,框架满天飞。
Chet_W
Chet_W
应该和JFinal PK几个回合
山哥
山哥

引用来自“缪斯的情人”的评论

为什么要用那么多的注解?注解从另一方面说也是配置,像路由为啥每个方法都要注解,直接走约定不行吗?

引用来自“黄勇”的评论

说的没错,感谢你的建议!关于 COC 特性会在 2.4 里实现,下个版本里就可以看到真正的“零配置”了。关于设计思路与实现过程,我将会继续以博文的方式与大家分享与探讨。

引用来自“山哥”的评论

我没想明白,这个约定如何进行约定?呵呵!期待~~

引用来自“黄勇”的评论

其实我现在也没完全想明白,那咱们就一起想吧,欢迎山哥一起交流哦!
呵呵,都一起想想!
黄勇
黄勇

引用来自“缪斯的情人”的评论

为什么要用那么多的注解?注解从另一方面说也是配置,像路由为啥每个方法都要注解,直接走约定不行吗?

引用来自“黄勇”的评论

说的没错,感谢你的建议!关于 COC 特性会在 2.4 里实现,下个版本里就可以看到真正的“零配置”了。关于设计思路与实现过程,我将会继续以博文的方式与大家分享与探讨。

引用来自“山哥”的评论

我没想明白,这个约定如何进行约定?呵呵!期待~~
其实我现在也没完全想明白,那咱们就一起想吧,欢迎山哥一起交流哦!
山哥
山哥

引用来自“缪斯的情人”的评论

为什么要用那么多的注解?注解从另一方面说也是配置,像路由为啥每个方法都要注解,直接走约定不行吗?

引用来自“黄勇”的评论

说的没错,感谢你的建议!关于 COC 特性会在 2.4 里实现,下个版本里就可以看到真正的“零配置”了。关于设计思路与实现过程,我将会继续以博文的方式与大家分享与探讨。
我没想明白,这个约定如何进行约定?呵呵!期待~~
黄勇
黄勇

引用来自“缪斯的情人”的评论

为什么要用那么多的注解?注解从另一方面说也是配置,像路由为啥每个方法都要注解,直接走约定不行吗?
说的没错,感谢你的建议!关于 COC 特性会在 2.4 里实现,下个版本里就可以看到真正的“零配置”了。关于设计思路与实现过程,我将会继续以博文的方式与大家分享与探讨。
缪斯的情人
缪斯的情人
为什么要用那么多的注解?注解从另一方面说也是配置,像路由为啥每个方法都要注解,直接走约定不行吗?
Liuzh_533
Liuzh_533
支持~~~~~
返回顶部
顶部