阅读更多
SpringSide是以Spring Framework为核心的,Pragmatic风格的JavaEE应用参考示例,是JavaEE世界中的主流技术选型,最佳实践的总结与演示。目前SpringSide的最新版本为4.0 GA

官网:http://www.springside.org.cn/
文档:https://github.com/springside/springside4/wiki

本期我们专访了SpringSide的作者江南白衣(肖桦),请他来详细谈谈这个优秀的开源项目。

ITeye期待并致力于为国内优秀的开源项目提供一个免费的推广平台,如果你和你的团队希望将自己的开源项目介绍给更多的开发者,或者你希望我们对哪些开源项目进行专访,请告诉我们,发站内短信给ITeye管理员或者发邮件到webmaster@iteye.com即可。

先做个自我介绍吧! Top

肖桦,网名江南白衣,"花钱的年华"博主。曾是千禧年互联网创业者,失败的那种。现在是爱立信里一个依然在磨练Craftsmanship的Coding Architect。

SpringSide是什么?为什么要发起这个项目? Top

SpringSide是以Spring Framework为核心的,Pragmatic风格的JavaEE应用参考示例,是Java世界中的主流技术选型,最佳实践的总结与演示。因为基于Spring也因为对Spring理念的认同,项目起名SpringSide,另外还有个好记的中文名字——“春天的旁边”。

想起做这个项目,是在六七年前元旦辗转反侧的夜晚,想着自己应该为世界留下点什么。写一本书还是做一个开源项目呢? 总感觉书印出来了就没法改了,对我这种完美主义者有点难受。而开源项目,就可以永远年轻,永远生长,永远重构……

然后,做什么项目呢?那时候,淘宝们还没有开始大规模开源自己的技术。国内的原创框架更多是在自娱自乐。所以SprinSide选了一条更低端的路线,将那时候已经太多而不是太少的开源项目粘合在一起,用好,也算是一桩功德了。

SpringSide包含哪些演示项目? 这些项目采用或演示了哪些技术? Top

SpringSide里含有QuickStart 与 Showcase 一小一大两个示例项目。

QuickStart是一个迷你的TodoList应用,浓缩了一个普通JavaEE应用所需的柴米油盐各种基础技术,从典型的CRUD界面,到赶时髦的Rest API,以及最基础的用户管理功能,可以作为很多项目的初始骨架。

Showcase 则一个五花八门的JavaEE技术大杂烩大派对,如安全、缓存、日志、消息中间件、定时任务等等等等。

SpringSide 4和之前版本相比,有哪些较大改进? Top

SSH 与 SSH2 发展到高潮后,Spring也进入了一个后Spring的时代,受到各种新兴语言与框架如Play! Framework的围攻。SpringSide 4,演示的就是这个后Spring时代的演进,如何使得avaEE依然是个体面的选择。

一些变动包括 DAO框架转用Spring Data JPA + Hibernate, MVC框架转用Spring MVC 3, Restful框架转用Spring MVC + Spring RestTemplate, CSS框架转用Twitter Bootstrap,安全框架转用Apache Shiro 等等,Selenium升级到WebDriver。

所有变动的目标,都是在代码越来越简单的同时,也保持对工业化大规模开发的支持。比如有些新兴语言框架,高手自己可以写得很快,但不一定适合很多普通程序员一起合作开发与维护。所以有些过度简化的演进,比如完全抛弃XML纯用Annotation的ApplicationContext定义方式,SpringSide并没有使用。

如何基于SpringSide创建新的项目? Top

SpringSide也是利用Maven的Archetype插件来创建新项目的,在每次版本发布时都会把前面所说的QuickStart项目打包成一个模板项目。用户只要用标准的maven archetype指令,就可以基于QuickStart项目生成自己的项目。

SpringSide采用什么开源协议?对商用有什么限制? Top

用的是所知最开放的Apache License2,任何的Copy&Paste都是欢迎的。如果有哪个更开放的告诉我吧,因为实在对靠开源赚钱没有过任何想法。

有没有其他开发者参与贡献? Top

4.0这个大版本暂时只有我一个在主导。不过github真的是一个非常社交化的开源平台,没有了sourceforge、google code那种固定的开发团队的概念。现在谁都可以闯进SpringSide来,改它几行代码,然后向我发起一个Pull Request就可以了。题外话,像Nutz那样精细的贡献者记录,真是值得表扬又让人羡慕的事情。

SpringSide的发布周期?未来的发展方向? Top

项目坚持了六七年,四个大版本,期间服务器迁徙数次,也有过多次跳票的不良记录。所以很难说出一个固定的发布周期来。最近自己比较希望能做到与白天的项目一样,固定三周一个的迭代,但也并不总能如愿。希望大家能相信我的人品,项目或迟或早,总是会发布的……

至于未来的发展方向,一方面会继续做细JavaEE普通应用的演示,使它与一般的玩具型演示项目有更显眼的区别。一方面会展示更多互联网项目的新潮技术,如NoSQL、ZooKeeper等,毕竟这看起来更有趣。
  • 大小: 35.7 KB


评论 共 87 条
87 楼 towardsfuture 2014-06-21 01:12
towardsfuture 写道
运行generate-project.bat信息如下,无法生成项目,没办法继续。可用性太差,可能需要特定的环境才能用吧。
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building Maven Stub Project (No POM) 1
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] >>> maven-archetype-plugin:2.2:generate (default-cli) @ standalone-pom >>
>
[INFO]
[INFO] <<< maven-archetype-plugin:2.2:generate (default-cli) @ standalone-pom <<
<
[INFO]
[INFO] --- maven-archetype-plugin:2.2:generate (default-cli) @ standalone-pom --
-
[INFO] Generating project in Interactive mode
[INFO] No archetype defined. Using maven-archetype-quickstart (org.apache.maven.
archetypes:maven-archetype-quickstart:1.0)
Choose archetype:
   Your filter doesn't match any archetype (hint: enter to return to initial lis
t)
Choose a number or apply filter (format: [groupId:]artifactId, case sensitive co
ntains): :

---------------------------------------------------
只在本地搭建好低版本,怎么版本越高越不容易用呢?
86 楼 towardsfuture 2014-06-21 01:10
运行generate-project.bat信息如下,无法生成项目,没办法继续。可用性太差,可能需要特定的环境才能用吧。
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building Maven Stub Project (No POM) 1
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] >>> maven-archetype-plugin:2.2:generate (default-cli) @ standalone-pom >>
>
[INFO]
[INFO] <<< maven-archetype-plugin:2.2:generate (default-cli) @ standalone-pom <<
<
[INFO]
[INFO] --- maven-archetype-plugin:2.2:generate (default-cli) @ standalone-pom --
-
[INFO] Generating project in Interactive mode
[INFO] No archetype defined. Using maven-archetype-quickstart (org.apache.maven.
archetypes:maven-archetype-quickstart:1.0)
Choose archetype:
   Your filter doesn't match any archetype (hint: enter to return to initial lis
t)
Choose a number or apply filter (format: [groupId:]artifactId, case sensitive co
ntains): :
85 楼 007cupid 2013-07-03 16:33
对于我这种新手,从白衣兄的代码上学到了很多东西,万分感谢!
84 楼 yanruilin 2013-05-28 22:30
的确不错,受益匪浅,感谢!
83 楼 cqh520llr 2013-04-23 14:58
song_in_china 写道
song_in_china 写道
我感觉这个大哥没有架子,而且虽然创业失败了,也很坦然。我觉得他以后还会东山再起的 

而且这个项目也坚持了6、7年..



大无畏精神可畏

82 楼 duodo 2013-04-16 23:40
一直觉得springside是国内最值得学习的“框架”,ss3给我很大的帮助,有机会还要学习ss4的内容。
81 楼 byteboy 2013-04-08 17:45
白衣兄,作为同事我深感惭愧啊
80 楼 xiecailian 2012-12-26 15:26
不记得哪一年啦,我也下载过springside2点几玩过..
79 楼 lihuachuan 2012-12-17 14:36
江南白衣 写道
谢谢这么长的回复,但目前的现状就是开源只能免费着玩啊。

首先收费肯定是行不通的,一收费就没人玩了。

至于出书,如果刨开盈利,纯粹浪费纸张啊,4.0上面写的东西,4.0.1 又不同了怎么办呢,在wiki上可以随时改天天改,出了书就郁闷了。而且就靠出书的钱,也不够辞职不拿工资啊。

基金会,这个肯定好,但现在还没有人找上我啊:(


onecan 写道

1. "因为实在对靠开源赚钱没有过任何想法", 证明了开源在中国目前是行不通的。因为大家都会认为开源的就是免费的。
2. “4.0这个大版本暂时只有我一个在主导”,也说明一个没有盈利的项目是没有人会长期跟你玩的,没有盈利或者不在代码上盈利的项目才会最终开源,或者只是打击对手的手段。

3.建议, 白衣兄,我觉得为了这个项目的长远发展,还是的要考虑开源和商业结合的路。
   3.1. 虽然你现在工资很高,让自己和家人过的生活比较体面,但不排斥更高。
   3.2. 你要考虑考虑你的伙伴是否能吃上饭,买的了房子,除非你就想自己一个人玩。
   3.3. 商业化后你可以全职搞,邀请高手一起做大做强,为更多的人服务。
   3.4. 你可以有更多的时间陪伴你的家人和孩子,享受天伦之乐。而不是周末自己在家coding.
   3.5. springside不能老为围着普通应用的演示这点东西吧
  
4. 怎么办,你比我更懂,不过我觉得出书本来就是一个很好的主意了。每一个版本能出一本书那已经很不错了。同步跟上spring的版本,不会有固化一说。
5. 目前你还在职,证明你还要靠工资吃饭,或者springside已经没啥好搞了? 证明如果有个啥基金会支持一下你,也许会有更多的output.
6. 人生有几个十年?毕竟6,7年不是个短时间了。有时间可以陪陪你的家人,该放手时就放手。人生不只有写代码!

以上纯粹个人看法,还花我半个小时去写,不喜勿喷。


一个大版本一本书,然后详细介绍一下用到的各种技术及其用法
相信可以比普遍的讲ssh的书好得多
而且应该有一部份人不喜欢看电子档
78 楼 江南白衣 2012-12-05 11:27
谢谢这么长的回复,但目前的现状就是开源只能免费着玩啊。

首先收费肯定是行不通的,一收费就没人玩了。

至于出书,如果刨开盈利,纯粹浪费纸张啊,4.0上面写的东西,4.0.1 又不同了怎么办呢,在wiki上可以随时改天天改,出了书就郁闷了。而且就靠出书的钱,也不够辞职不拿工资啊。

基金会,这个肯定好,但现在还没有人找上我啊:(


onecan 写道

1. "因为实在对靠开源赚钱没有过任何想法", 证明了开源在中国目前是行不通的。因为大家都会认为开源的就是免费的。
2. “4.0这个大版本暂时只有我一个在主导”,也说明一个没有盈利的项目是没有人会长期跟你玩的,没有盈利或者不在代码上盈利的项目才会最终开源,或者只是打击对手的手段。

3.建议, 白衣兄,我觉得为了这个项目的长远发展,还是的要考虑开源和商业结合的路。
   3.1. 虽然你现在工资很高,让自己和家人过的生活比较体面,但不排斥更高。
   3.2. 你要考虑考虑你的伙伴是否能吃上饭,买的了房子,除非你就想自己一个人玩。
   3.3. 商业化后你可以全职搞,邀请高手一起做大做强,为更多的人服务。
   3.4. 你可以有更多的时间陪伴你的家人和孩子,享受天伦之乐。而不是周末自己在家coding.
   3.5. springside不能老为围着普通应用的演示这点东西吧
  
4. 怎么办,你比我更懂,不过我觉得出书本来就是一个很好的主意了。每一个版本能出一本书那已经很不错了。同步跟上spring的版本,不会有固化一说。
5. 目前你还在职,证明你还要靠工资吃饭,或者springside已经没啥好搞了? 证明如果有个啥基金会支持一下你,也许会有更多的output.
6. 人生有几个十年?毕竟6,7年不是个短时间了。有时间可以陪陪你的家人,该放手时就放手。人生不只有写代码!

以上纯粹个人看法,还花我半个小时去写,不喜勿喷。

77 楼 Hetal 2012-11-29 14:05
江南白衣,一个传奇的名字,从入行就开始关注,期待更好的版本发布。
76 楼 onecan 2012-11-28 14:18

1. "因为实在对靠开源赚钱没有过任何想法", 证明了开源在中国目前是行不通的。因为大家都会认为开源的就是免费的。
2. “4.0这个大版本暂时只有我一个在主导”,也说明一个没有盈利的项目是没有人会长期跟你玩的,没有盈利或者不在代码上盈利的项目才会最终开源,或者只是打击对手的手段。

3.建议, 白衣兄,我觉得为了这个项目的长远发展,还是的要考虑开源和商业结合的路。
   3.1. 虽然你现在工资很高,让自己和家人过的生活比较体面,但不排斥更高。
   3.2. 你要考虑考虑你的伙伴是否能吃上饭,买的了房子,除非你就想自己一个人玩。
   3.3. 商业化后你可以全职搞,邀请高手一起做大做强,为更多的人服务。
   3.4. 你可以有更多的时间陪伴你的家人和孩子,享受天伦之乐。而不是周末自己在家coding.
   3.5. springside不能老为围着普通应用的演示这点东西吧
  
4. 怎么办,你比我更懂,不过我觉得出书本来就是一个很好的主意了。每一个版本能出一本书那已经很不错了。同步跟上spring的版本,不会有固化一说。
5. 目前你还在职,证明你还要靠工资吃饭,或者springside已经没啥好搞了? 证明如果有个啥基金会支持一下你,也许会有更多的output.
6. 人生有几个十年?毕竟6,7年不是个短时间了。有时间可以陪陪你的家人,该放手时就放手。人生不只有写代码!

以上纯粹个人看法,还花我半个小时去写,不喜勿喷。
75 楼 唯快不破 2012-11-27 22:50
springside一直是我学习的榜样
74 楼 ysz123ok 2012-11-27 17:50
支持!
73 楼 chenkeyu 2012-11-19 14:22
支持,正在学习4.0中。
72 楼 tuhaitao 2012-11-19 14:09
支持完美主义,收益匪浅
71 楼 roboslyq 2012-11-09 00:51
很久没上JavaEye,突然发现在这个开源项目共享模块,感觉灰常不错。对于这人项目,有机会看看源码研究下.
70 楼 shenbai 2012-11-08 15:24
web开发今后的发展必然是自动化/半自动化的,门槛会比较低,web开发的技术相对来说是最为成熟的。
69 楼 lzfying 2012-11-07 11:13
刚入行的时候 springside  带我上路,这么多年虽然不用springside,但是是springside带我入门。向白衣说声谢谢!
68 楼 huang_yong 2012-11-03 22:33
从SpringSide1.0就开始关注这个开源项目,通过阅读源码,让我学习到了许多编码技巧与开发经验。支持江南白衣这一创举,希望你能做的更好,走得更高、更远!
67 楼 crabboy 2012-11-03 00:37
白衣一定要顶起来
66 楼 JavaStudyEye 2012-11-02 18:05
song_in_china 写道
我不会maven怎么用这个东西?谁可以教教我..1738042258,谢谢

看 官网啊。
65 楼 song_in_china 2012-11-02 18:01
我不会maven怎么用这个东西?谁可以教教我..1738042258,谢谢
64 楼 song_in_china 2012-11-02 17:54
song_in_china 写道
我感觉这个大哥没有架子,而且虽然创业失败了,也很坦然。我觉得他以后还会东山再起的 

而且这个项目也坚持了6、7年..
63 楼 song_in_china 2012-11-02 17:53
我感觉这个大哥没有架子,而且虽然创业失败了,也很坦然。我觉得他以后还会东山再起的 
62 楼 flashing 2012-11-02 15:26
这帽子让俺震惊了!
61 楼 inotgaoshou 2012-11-02 15:15
quentin_2010 写道
肖桦,网名江南白衣,开源JavaEE项目SpringSide发起人,现在广州电信研究院亿迅科技有限公司任设计中心设计主管。
http://www.infoq.com/cn/bycategory.action?authorName=鑲栨ˇ
白衣兄是这个公司的吗?

上面介绍了,是爱立信的~
60 楼 sunofsummer 2012-11-02 13:25
从这个项目学到很多 代码质量很不错。
59 楼 quentin_2010 2012-11-02 12:32
肖桦,网名江南白衣,开源JavaEE项目SpringSide发起人,现在广州电信研究院亿迅科技有限公司任设计中心设计主管。
http://www.infoq.com/cn/bycategory.action?authorName=鑲栨ˇ
白衣兄是这个公司的吗?
58 楼 差沙 2012-11-02 00:17
白衣,换个帽子先。

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • Linux系统如何重装Windows系统

    电脑已经安装了Ubuntu,如果卸载Ubuntu系统改换成windows系统

  • 把linux系统重装成Windows10

    把linux系统重装成Windows10

  • Windows和Linux双系统的保姆级安装教程,新手小白跟着也能装

    保姆级教学安装双系统,Linux系统的桌面版安装教程

  • Linux 系统重新安装成win系统过程

    Linux 系统重新安装成win系统过程

  • 电脑安装双系统-linux系统上安装windows系统

    系统下安装linux这个玩了很多年了,基本算是轻车熟路了,但是linux系统下安装windows系统,这个没有操作过,但是既然单向能走通,双向应该问题不大。本文针对linux版本下的elementaryOS5.1.7系统下安装windows10操作系统.........

  • Windows系统重装Linux系统

    PC机以前是Windows系统现在重装Linux系统 材料: 8G以上U盘(eveything版本很大,如果U盘容量不足请选择DVD版本ISO) UltralSO Linux系统(Centos7_64_eveything.iso) tips:准...

  • linux系统重装win10系统不用u盘,win10不用u盘怎么重装系统

    重装win10系统一键重装系统win10不用u盘怎么重装系统?可能有的小伙伴一直都是用U盘进行重装系统,其实还有另一种特别简单的重装方式,那就是一键重装。今天小编就为大家带来一篇一键重装win10系统的详细教程,希望可以帮助到大家。准备工具黑鲨装机大师一台正常联网的电脑具体步骤1.提前关闭所有的杀毒软件后,在打开的黑鲨界面中选择“重装系统”进入。等检测电脑的系统信息后点击“下一步”。2.根据自己需...

  • 新的一天

    本以为是新的一天,可以还得做没有做完的项目,唉,什么时候才可以忘记过去,真的从新开始。

  • 把linux系统重装成Windows10的方式之一(应该也适用于Windows系统重装,暂未尝试)

    说明: 1.我是用U盘启动的方式去装系统的,我的电脑是Thinkpad,进入bios的方式是开机后按住F12。 2.这篇文章只是我在看过众多重装系统的文章之后经过尝试并且成功的经历,所以标题中写了“之一”就是说可能有很多更简单更高效的方式,而我就不去探索了。 3.我是仿照Windows下重装Windows的步骤去做的,没有真正的去找“Linux系统装成Windows系统”这类的文章,两者有没有差别?肯定是有的,但是我不知道差别是什么,但我感觉对于傻瓜式的装系统来说,可能这些区别就没那么重要了。 首先

  • 如何在Linux上换windows,怎么在linux系统上再装windows系统

    最近,我在一台闲置的PC上安装了Centos操作系统,我想试试这种系统。现在经过了两周的试用,我觉得还是应该安装Windows,但是不知道为什么,在Windows安装程序启动后就一直停留在“正在检测您的系统”阶段。而在安装Centos操作系统前,这台机器完全可以正常安装Windows。答:在安装Linux系统时,Linux会将硬盘分区,而这种分区Windows无法辨认。因此,如果你想在已经安装了L...

  • 卸载linux系统安装windows系统

    今天帮人装系统遇到了一些之前没有遇到的问题,特此记录,希望对有遇到同样问题的朋友有点提示帮助作用 原有系统:ubuntu 15.10 待安装系统:64位的win7 由于电脑之前安装的是linux系统,所以硬盘已经被格式化为ext4的格式了,所以直接安装纯净版本的windows系统是不行的,因为windows的系统根本不会识别ext4格式的硬盘,一般我对这类的处理就是安装ghost版本

  • linux下硬盘安装windows经验

    1. 逻辑分区无法安装windows。

  • deepin装回windows系统

    deepin装回windows系统前言准备步骤安装尾巴 前言 之前网上无意间看到deepin这个国产pc操作系统,初见deepin时给人一种初恋般的怦然心动的感觉。正好这时家里有一台5年前的笔记本电脑,安装windows已经能感到明显的卡顿,所以我在笔记本上安装上了deepin。安装完后,界面颜值真是秒杀windows,而流畅度相比之前安装的windows7也有肉眼可见的提升。有人要问了,这个系统...

  • [重装win10系统]Linux系统上重装Windows系统

    写这篇文章的时候我在想,其实虽然已经解决了,但我没完全懂里面涉及的知识,知识记录一下解决的过程,希望给自己留一个坑,以后学习了来补全吧 电脑本来的系统是centos8,我准备弃用linux系统安装win10,过程中真的没有以前在windows的基础上重装win10那么顺利,主要还是对Linux系统磁盘分区的方式不了解,对计算机系统的这方面的知识也有所欠缺 首先制作好U盘启动盘后插入要装机的电脑选择U盘启动,打开后安装win10镜像,这时候发现磁盘分区很混乱,找了很多教程也自己随便瞎鼓捣了好久,中间也因为上一

  • 如何在win 10与linux双系统重装windows?

    前两天由于不小心把windows系统搞坏了,需要重新装系统。但是我想到linux和windows双系统的安装,是要先装windows,再装linux,要不linux的启动分区会被覆盖掉。 我现在的电脑是win 10 (1607)和fedora 25(Linux version 4.10.16-200.fc25.x86_64 )的双系统,采用gurb引导。 我想既然双系统是好的,只是现在

  • linux装回windows系统,装linux后怎样装回windows?(Linux系统清除Grub的几种方法)

    Linux的grub是一个非常好的引导程序,它可以引导多操作系统。当windows和linux共存时,删除grub直接进入windows方法:方案1:用DOS命令fdisk恢复主引导扇区MBR(Main/Master Boot Record)---用win98的引导盘或DOS引导盘引导系统到纯DOS提示符下,执行:"fdisk /mbr"即可。方案2:在Linux系统中,恢复MBR。(如果你还能登...

  • linux下u盘重装windows系统下载,U盘安装Linux,Windows多系统的方法 | 系统之家官网...

    U盘安装Linux,Windows多系统的方法主要利用GRUB for DOS引导linux系统initrd.img和windows的iso进行安装,通过menu.lst文件实现可选择安装哪种操作系统。首先把U盘做成GRUB for DOS引导,然后拷贝menu.lst和grldr文件到U盘根目录。复制Linux系统镜像isolinux目录中的initrd.img和vmlinuz文件到U盘相应目录...

  • 实操Linux装Windows系统,方便简单又有效

    荣耀最近推出的这款荣耀MagicBook 锐龙版科技尝鲜版可谓卖相大火,在本来性价比已经很高的基础上再降300元,卖出了惊人的4399块钱,只不过预装的是Linux系统。什么?Linux系统用不习惯怎么办?大家可以自己动手让Linux版装成Windows系统啊,简单的操作就能省下300元。不过一些电脑小白可能不是很清楚操作步骤,这里就详细给大家讲一下。    我们在装系统之前还需要去下载网卡驱动,...

Global site tag (gtag.js) - Google Analytics