springrain vs jfianl的开发对比

原创
2013/09/07 11:35
阅读数 2.4W

废话不说,上实例

使用 jfinal最新版本 1.4 的 blog demo.

如果使用springrain 该怎么做呢?

总共分三步:

1.编写blog.sql 建表语句,花费2分钟左右时间

2.执行代码生成器,gen blog 并把生成文件拷贝到项目.
di_car/freemarker  对应拷贝到 springrain/WebROOT/WEB-INF/freemarker
di_car/js          对应拷贝到 springrain/WebROOT/js
di_car/src_main    对应拷贝到 springrain/src

3.执行权限语句,springrain使用shiro控制权限,需要导入菜单和按钮的url才能让admin正常访问.初始化的语句也已经生成,执行以下就可以了

以上3步,大概花费3分钟左右.就此blog管理功能已经全部实现,包括 列表字段排序,增删改查,导出,(ps:其实导入也已经做好了,我只是没有把使用方法写入文档)

界面截图如下,也可以访问 springrain.weicms.net 在线访问,国外免费主机,速度较慢......

-----------------我是小小分割线-----------------------------------------------------------

会有人说,生成的代码好维护吗?

代码自动生成了 controller,service,html页面,js文件

html页面都是原生的freemarker 文件,js也很少东西

service 不是强制的,可以直接使用baseDemoService,其实,只要你想,一个项目只需要一个service

controller 生成了 增删改查 导入 导出的处理方法

因为 save update delete 都是orm对象操作,和jfinal差别也不大

重点说下查询.springrain所有的sql语句都是通过Finder 工具类封装,finder承载了 sql语句和响应的参数,而且是强制行为,因为底层没有直接执行sql的接口.看下finder带来的方便和优势,就会明白这样设计的原因

springrain的sql语句 使用命名参数 没有使用?,在拼接?不太直观和方便,特别是在动态条件较多的时候.

查询列表 org.springrain.demo.service.impl.BlogServiceImpl.findListDataByFinder(Finder, Page, Class<T>, Object) 只有一句话  return super.findListDataByFinder(finder,page,clazz,o);

简单查询,父类已经完全封装好了.如果你想手动控制 代码就是

finder=new Finder("select * from blog where 1=1 ");
          //拼装动态where 条件,当然,你也可以手动拼装
          getFinderWhereByQueryBean(finder, o);
          //拼装 动态 order by ,用于列表字段排序
          getFinderOrderBy(finder, page);
          return super.queryForList(finder, clazz, page);

springrain的查询方法都可以返回 实体类或者map 根据需要自行选择使用

具体参见 基本接口

因为和jfinal理念不同,springrain 默认生成了service层,再强调一次,这个service不是必要的.可以直接使用baseDemoService

 

我们现在很快做出模型草稿,让用户确认,这些模型页面和代码就能直接转入开发阶段.

 

展开阅读全文
打赏
4
15 收藏
分享
加载中

引用来自“光石头”的评论

引用来自“cwledit”的评论

引用来自“屁屁果”的评论

引用来自“cwledit”的评论

对于新手而言,总是看spring这种包得太深的东西反而不好,更何况你还给他了个代码生成工具。。这是闹哪样呢。。

spring 已经是java界的标准了,了解spring绝对让新手受益匪浅。关于代码生成器,生成的代码也是非常简单的,这点我用新手测试过。当然你也可以自己手写代码,文中就有全手写的查询。你可以下载下来,仔细看下,看看是否有你想象的复杂……

额。。你没明白我意思, spring毕竟包装得比jfinal深,对于新手而言,我觉得不要用封装太深的框架比较好,用轻度封装的jfinal就比较好。

jfinal为了追求开发速度,很容易影响新手的编程习惯

引用来自“天赐绝尘”的评论

这倒是需要各种注意
编程习惯、代码规范是养成的,新手是需要带的,给一张白纸没有经过培训或者人带,照样天花烂坠,呵呵。
2016/10/12 15:50
回复
举报

引用来自“光石头”的评论

引用来自“cwledit”的评论

引用来自“屁屁果”的评论

引用来自“cwledit”的评论

对于新手而言,总是看spring这种包得太深的东西反而不好,更何况你还给他了个代码生成工具。。这是闹哪样呢。。

spring 已经是java界的标准了,了解spring绝对让新手受益匪浅。关于代码生成器,生成的代码也是非常简单的,这点我用新手测试过。当然你也可以自己手写代码,文中就有全手写的查询。你可以下载下来,仔细看下,看看是否有你想象的复杂……

额。。你没明白我意思, spring毕竟包装得比jfinal深,对于新手而言,我觉得不要用封装太深的框架比较好,用轻度封装的jfinal就比较好。

jfinal为了追求开发速度,很容易影响新手的编程习惯
这倒是需要各种注意
2015/11/26 12:34
回复
举报

引用来自“光石头”的评论

引用来自“cwledit”的评论

对于新手而言,总是看spring这种包得太深的东西反而不好,更何况你还给他了个代码生成工具。。这是闹哪样呢。。

spring 已经是java界的标准了,了解spring绝对让新手受益匪浅。关于代码生成器,生成的代码也是非常简单的,这点我用新手测试过。当然你也可以自己手写代码,文中就有全手写的查询。你可以下载下来,仔细看下,看看是否有你想象的复杂……
spring 已经是java界的标准了,看到这里,不得不说一句,打破传统,新思想,新观念,我们的心要接受一些新的东东
2015/11/26 12:33
回复
举报
哟西
2014/09/10 15:21
回复
举报
在看到springrain之前,我也搭建了一个,和spring差不多,springmvc easyui enhance。。。唯一的区别,我也封装了jdbc,做了一些特殊的处理来适应自己的项目。
从springrain整个架构来看,很自由!
另外:springrain技术详解对shiro的讲解挺好!
2014/06/07 13:26
回复
举报

引用来自“从前”的评论

引用来自“屁屁果”的评论

引用来自“从前”的评论

看了下你做的springrain ,很不错,所有的封装点我在项目中基本上都遇到了。spring的战斗力还是很强悍的,主要是第三方类库、框架支持的多,简化了很多复杂度,比单独开发一个全功能的框架来说,在这方面spring占优势。

真是识货啊.springrain可以说完全来源于实际项目.

呵呵,还好。jfinal 、nutz这类的都用过的,但还是回到spring了,
深有此感!
2014/06/07 13:15
回复
举报

引用来自“屁屁果”的评论

引用来自“cwledit”的评论

引用来自“屁屁果”的评论

引用来自“cwledit”的评论

对于新手而言,总是看spring这种包得太深的东西反而不好,更何况你还给他了个代码生成工具。。这是闹哪样呢。。

spring 已经是java界的标准了,了解spring绝对让新手受益匪浅。关于代码生成器,生成的代码也是非常简单的,这点我用新手测试过。当然你也可以自己手写代码,文中就有全手写的查询。你可以下载下来,仔细看下,看看是否有你想象的复杂……

额。。你没明白我意思, spring毕竟包装得比jfinal深,对于新手而言,我觉得不要用封装太深的框架比较好,用轻度封装的jfinal就比较好。

jfinal为了追求开发速度,很容易影响新手的编程习惯
确实。。。虽然不是新手,但是总是感觉怪怪的 不过jf里面用的一些思想挺好! 在此声明,不鄙视任何框架,只是发表真实看法!
2014/06/07 13:14
回复
举报

引用来自“屁屁果”的评论

引用来自“从前”的评论

看了下你做的springrain ,很不错,所有的封装点我在项目中基本上都遇到了。spring的战斗力还是很强悍的,主要是第三方类库、框架支持的多,简化了很多复杂度,比单独开发一个全功能的框架来说,在这方面spring占优势。

真是识货啊.springrain可以说完全来源于实际项目.

呵呵,还好。jfinal 、nutz这类的都用过的,但还是回到spring了,
2013/11/06 16:42
回复
举报
光石头博主

引用来自“从前”的评论

看了下你做的springrain ,很不错,所有的封装点我在项目中基本上都遇到了。spring的战斗力还是很强悍的,主要是第三方类库、框架支持的多,简化了很多复杂度,比单独开发一个全功能的框架来说,在这方面spring占优势。

真是识货啊.springrain可以说完全来源于实际项目.
2013/11/06 16:38
回复
举报
看了下你做的springrain ,很不错,所有的封装点我在项目中基本上都遇到了。spring的战斗力还是很强悍的,主要是第三方类库、框架支持的多,简化了很多复杂度,比单独开发一个全功能的框架来说,在这方面spring占优势。
2013/11/06 15:58
回复
举报
更多评论
打赏
21 评论
15 收藏
4
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部