阅读更多
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

  • 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:准...

  • 在Windows上安装Linux系统

    一、准备1、VMware12(1)、下载(2)、破解密钥5A02H-AU243-TZJ49-GTC7K-3C61N 2、Ubuntu16.04镜像文件进入官网下载即可。http://www.ubuntu.org.cn/index_kylin 二、打开VMWare安装好了VMware打开 新建虚拟机 –> 典型 –> 选择刚才下载的镜像文件其他的一路Next即可。 完成安装打开虚拟机

  • 新的一天

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

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

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

  • 在LInux下安装windows软件

    方式一:装Crossover 这个方式挺简单的,但是按照网上的教程试了还是不行。算了,可能我就是用不了吧 方式二,装wine yum命令详解 https://www.cnblogs.com/vathe/p/6736094.html 解压rar文件 需要先下载rar软件 wget http://www.rarlab.com/rar/rarlinux-3.8.0.tar.gz 解压文件 rar x ...

  • 在linux服务器安装windows,在Windows操作系统中安装Linux系统

    很多人对我写下面的东西已不屑一看了,但我写这个帖子的原因是:很多在Windows下想安装Linux的人不知如何开始,如何下手安装。等进入到安装界面又出现了很问题。不得不中途放弃。好了,从我做起,开始新手上路!我想要从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系统,将全盘安装的linux换回windows

    在写这篇博客前,我已经被这个问题苦恼了很久了。直至今天才找出了解决方法,遂以记录,以便不忘。参考博客基本信息原因在学习命令行时一时冲动,把全部固态都用来装了linux,导致windows无法安装(引导方式丢失),或者说硬盘格式不兼容windows。电脑状态128G(固态)+1T(机械),8G内存,有独立显卡。其中128G固态已经全部被linux系统占领了。主板为UEFI,无法用MBR方式启动。物理...

  • 重装windows后重新引导linux

    很多和我一样的菜鸟,为了学linux都会在原来windows的基础上安装linux。但windows的病毒是在太多了,难保哪天中了病毒杀不掉甚至进不windows了就只好重装了。重装后往往就默认直接进入windows,而没有出现个菜单让你选择是进windows和linux。原因嘛,网上搜下到处都是,下面直接进入正题,找回进不去的linux。先准备好以下两个软件grub for dos(ht

  • deepin装回windows系统

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

  • linux系统重装win系统教程,linux系统安装,小编告诉你怎样安装Linux系统

    Linux系统有很多版本,我们常用的Linux版本有centos,Ubuntu,Red Hat Linux。Liux现在运用越来越广泛,而且他的安全性和稳定性更得到广大电脑爱好者们一致称赞,一种开放类的操作系统,那么这个系统应该如何安装呢?下面,小编给大家分享安装Linux系统的经验。linux系统作为开放式系统,系统是免费的不收钱,不像其它厂里操作系统要收钱。linux有什么好处呢!可以自己更改...

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

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

  • Linux下安装windows

    1、Linux下KVM命令使用 https://www.cnblogs.com/liang-wei/p/6732055.html 2、linux所需要的组件: qemu、libvirt、kvm 3、安装windows示例 a.所需安装包:windows的安装镜像,可以在网站:https://msdn.itellyou.cn/  下载所要安装的镜像,该网站上是纯净安装包; b.所需要的驱...

  • 安装Linux操作系统和Win10操作系统

        本篇是在已经安装Windows10操作系统的情况下再安装一个Linux系统的过程详解,包括磁盘分区-&amp;gt;镜像下载-&amp;gt;BIOS设置-&amp;gt;启动安装等主要过程,每一步都有详细图解。目录1、磁盘分区2、镜像下载3、BIOS设置4、启动安装正文一、磁盘分区      首先我们需要一块独立的硬盘分区来安装Linux,用Windows10自带的磁盘管理工具进行分区。鼠标右键点击开始,选择磁...

Global site tag (gtag.js) - Google Analytics