文档章节

Smart 功能总结

黄勇
 黄勇
发布于 2014/06/06 12:15
字数 731
阅读 6317
收藏 5

从 2013 年 9 月 1 日起,我开始开发 Smart Framework 这款轻量级 Java Web 框架。如果没有大家的支持与鼓励,恐怕我不会有激情继续将开源坚持下去。感谢 开源中国 提供了这么好的一个平台,让我结识了很多志同道合的朋友,不到一年的时间,我的目标基本已经实现了!

如果您还不了解 Smart 框架,建议您阅读这篇博文:

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

目前,Smart Framework 已经发布到 2.3 版本了,同时也开发了一些 Plugin 来扩展这个框架,现在是时候对 Smart 目前的功能做一个总结了。

Smart 功能总结

  1. 提供了一个轻量级的 IOC 框架
  2. 提供了一个轻量级的 AOP 框架
  3. 提供了一个轻量级的 ORM 框架
  4. 提供了一个轻量级的基于 JDBC 的封装
  5. 提供了一个轻量级的基于 Servlet 3.0 的可扩展的 MVC 框架
  6. 提供了一个灵活的插件机制
  7. 提供了一个可扩展的数据源工厂(可通过插件进行扩展)
  8. 提供了一个可扩展的类扫描器
  9. 提供了一个可扩展的数据访问接口
  10. 提供了一个基于注解的事务管理框架
  11. 提供了一个基于 JUnit 的测试框架
  12. 提供了一个简单的代码生成器
  13. 提供了一个基于 Apache Shiro 的安全控制插件
  14. 提供了一个基于注解的 Cache 插件
  15. 提供了一个通用的 I18N 插件
  16. 提供了一个基于 Apache Commons Email 的邮件收发插件
  17. 提供了一个基于 Apache Velocity 的模板引擎插件
  18. 提供了一个基于 Quartz 的作业调度插件
  19. 提供了一个基于 Apache CXF 的 SOAP Web Service 插件
  20. 提供了一个基于 Apache CXF 的 REST Web Service 插件
  21. 提供了一个基于 Hessian 的 RMI 插件
  22. 提供了一个基于 Apache XML-RPC 的 XML-RPC 插件
  23. 提供了一个基于 Apache Lucene 的搜索引擎插件
  24. 提供了一个基于 MyBatis 的数据持久层插件(感谢 abel533 的贡献)
  25. 提供了一个强大的 Action 方法参数绑定的插件(感谢 abel533 的贡献)
  26. 提供了一个基于 C3P0 的连接池插件
  27. 提供了一个基于 Druid 的连接池插件
  28. 提供了一个基于 Jasig CAS 的 SSO 模块(模块不依赖于框架,可以独立使用)
  29. 提供了一个通用的 Cache 模块与基于内存的实现
  30. 提供了一个基于 Ehcache 的 Cache 模块
  31. 提供了一个基于 Redis 的 Cache 模块(感谢 蛙牛 的贡献)

Smart Framework v2.4 现已启动,期待您提供宝贵的建议或意见!更期待您的参与,我们一起把这个框架做得更好!

源码地址:http://git.oschina.net/huangyong/smart-framework 问题反馈:http://git.oschina.net/huangyong/smart-framework/issues

Smart Framework

© 著作权归作者所有

共有 人打赏支持
黄勇

黄勇

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

评论(12)

wyongan
wyongan
看看还有有没有持续更新
今秋
今秋
好牛逼,学习
hans汉斯
hans汉斯
不错的轮子,精力有限,更注重技术转换成价值。79
E
ElaineYB

引用来自“ElaineYB”的评论

首先对博主的无私奉献表示感谢!我现在正在试用这一框架,发现框架生成的数据库脚本把数据库表的列名解释成了下划线风格字符串,而非驼峰风格,但我的表字段是采用驼峰风格命名的,不知有没有什么解决办法?

引用来自“黄勇”的评论

感谢支持!可以在 Entity 的 Field 上添加 Column 注解,来映射具体的数据表中的列名,即可实现自定义映射规则。

引用来自“ElaineYB”的评论

首先多谢您的及时回复,我有这样做,但好像无效,看了源代码,SQLHelper.generateInsertSql直接调用StringUtil.camelhumpToUnderline(fieldName)修改列名而不是用EntityHelper.getEntityMap读取列名

引用来自“黄勇”的评论

能否帮忙提交一个 Issue?谢谢! http://git.oschina.net/huangyong/smart-framework/issues
非常感谢您的及时回复,当然乐意帮忙
黄勇
黄勇

引用来自“ElaineYB”的评论

首先对博主的无私奉献表示感谢!我现在正在试用这一框架,发现框架生成的数据库脚本把数据库表的列名解释成了下划线风格字符串,而非驼峰风格,但我的表字段是采用驼峰风格命名的,不知有没有什么解决办法?

引用来自“黄勇”的评论

感谢支持!可以在 Entity 的 Field 上添加 Column 注解,来映射具体的数据表中的列名,即可实现自定义映射规则。

引用来自“ElaineYB”的评论

首先多谢您的及时回复,我有这样做,但好像无效,看了源代码,SQLHelper.generateInsertSql直接调用StringUtil.camelhumpToUnderline(fieldName)修改列名而不是用EntityHelper.getEntityMap读取列名
能否帮忙提交一个 Issue?谢谢! http://git.oschina.net/huangyong/smart-framework/issues
E
ElaineYB

引用来自“ElaineYB”的评论

首先对博主的无私奉献表示感谢!我现在正在试用这一框架,发现框架生成的数据库脚本把数据库表的列名解释成了下划线风格字符串,而非驼峰风格,但我的表字段是采用驼峰风格命名的,不知有没有什么解决办法?

引用来自“黄勇”的评论

感谢支持!可以在 Entity 的 Field 上添加 Column 注解,来映射具体的数据表中的列名,即可实现自定义映射规则。
首先多谢您的及时回复,我有这样做,但好像无效,看了源代码,SQLHelper.generateInsertSql直接调用StringUtil.camelhumpToUnderline(fieldName)修改列名而不是用EntityHelper.getEntityMap读取列名
黄勇
黄勇

引用来自“ElaineYB”的评论

首先对博主的无私奉献表示感谢!我现在正在试用这一框架,发现框架生成的数据库脚本把数据库表的列名解释成了下划线风格字符串,而非驼峰风格,但我的表字段是采用驼峰风格命名的,不知有没有什么解决办法?
感谢支持!可以在 Entity 的 Field 上添加 Column 注解,来映射具体的数据表中的列名,即可实现自定义映射规则。
E
ElaineYB
首先对博主的无私奉献表示感谢!我现在正在试用这一框架,发现框架生成的数据库脚本把数据库表的列名解释成了下划线风格字符串,而非驼峰风格,但我的表字段是采用驼峰风格命名的,不知有没有什么解决办法?
Larry_OSC
Larry_OSC
支持!79
mirov
mirov
支持79
使用 IDEA + Maven + Git 快速开发 Java Web 应用

引言 今天想跟大家分享一下我主要的 Java 开发工具,我一般是这样工作的:用 IDEA 写代码,用 Maven 管理 jar 包依赖与项目打包,用 Git 进行代码版本控制。 关于这三款工具的安装与配置的过...

黄勇
2013/11/11
0
17
使用 Smart Security 实现安全控制

很多朋友都问过我同样一个问题:“Smart 目前有身份认证与权限管理等安全控制功能吗?” 当听到这样的问题时,我真的非常不好意思,实在是没有这方面的特性。不过当我学习了 Shiro 以后,让我...

黄勇
2014/03/31
0
11
蓝牙4.0 BLE与传统蓝牙之间的兼容性

蓝牙分为三种:Bluetooth Smart Ready、Bluetooth Smart(Smart是低功耗蓝牙的标识)、以及标准 Bluetooth。根据 Bluetooth SIG的说法,这样是为了要分辨装置间的相容性以及标识各版本的传输...

Gobert
2015/04/26
0
0
蓝牙4.0 BLE与传统蓝牙之间的兼容性

蓝牙分为三种:Bluetooth Smart Ready、Bluetooth Smart(Smart是低功耗蓝牙的标识)、以及标准 Bluetooth。根据 Bluetooth SIG的说法,这样是为了要分辨装置间的相容性以及标识各版本的传输...

IcedBeer
2016/11/03
390
0
初步实现 Mail 插件 —— 发送邮件

本文是《轻量级 Java Web 框架架构设计》的系列博文。 在 Java 应用系统中为了实现邮件发送与收取功能,往往都会选择使用 JavaMail API。但该 API 涉及的内容比较繁琐,概念与细节都比较多,...

黄勇
2013/11/24
3.3K
12

没有更多内容

加载失败,请刷新页面

加载更多

70.shell的函数 数组 告警系统需求分析

20.16/20.17 shell中的函数 20.18 shell中的数组 20.19 告警系统需求分析 20.16/20.17 shell中的函数: ~1. 函数就是把一段代码整理到了一个小单元中,并给这个小单元起一个名字,当用到这段...

王鑫linux
59分钟前
0
0
分布式框架spring-session实现session一致性使用问题

前言:项目中使用到spring-session来缓存用户信息,保证服务之间session一致性,但是获取session信息为什么不能再服务层获取? 一、spring-session实现session一致性方式 用户每一次请求都会...

WALK_MAN
今天
5
0
C++ yield()与sleep_for()

C++11 标准库提供了yield()和sleep_for()两个方法。 (1)std::this_thread::yield(): 线程调用该方法时,主动让出CPU,并且不参与CPU的本次调度,从而让其他线程有机会运行。在后续的调度周...

yepanl
今天
4
0
Java并发编程实战(chapter_3)(线程池ThreadPoolExecutor源码分析)

这个系列一直没再写,很多原因,中间经历了换工作,熟悉项目,熟悉新团队等等一系列的事情。并发课题对于Java来说是一个又重要又难的一大块,除非气定神闲、精力满满,否则我本身是不敢随便写...

心中的理想乡
今天
28
0
shell学习之获取用户的输入命令read

在运行脚本的时候,命令行参数是可以传入参数,还有就是在脚本运行过程中需要用户输入参数,比如你想要在脚本运行时问个问题,并等待运行脚本的人来回答。bash shell为此提 供了read命令。 ...

woshixin
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部