阅读更多
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下安装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,怎么在linux系统上再装windows系统

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

  • 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

  • linux下硬盘安装windows经验

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

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

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

  • 如何在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引导。 我想既然双系统是好的,只是现在

  • 重装Windows/Linux系统

    1 windows 1.1 如果需要重装的电脑已经是win系统且可以上网,可以选择小白等工具在线重装,简单粗暴但会有捆绑软件 1.2 非win系统或者电脑不能上网时,需要借助一台能上网的电脑和U盘,有2种安装方式:安装版和GHOST版 GHOST版:利用ghost软件将某个硬盘/分区制作成windows系统.gho压缩包(网上有现成的),然后再用ghost软件进行还原 安装过程:...

  • 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后装Windows系统的解决方法

    一般情况下先装windows后装linux都没有什么问题,linux引导系统都会友好地添加windows启动记录, 先装linux后装windows则很多人都说不行, windows会用自己地引导记录覆盖已有的linux, 难道windows不能像linux一样保留其他系统地引导记录吗?! 最近一次电脑中勒索病毒,丢失了很多资料, 下决心换病毒风险小的linux,结果发现有很多不便之处,还是

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

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

  • 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重装win分区,linux硬盘引导安装windows纲要

    linux硬盘引导安装windows纲要(2010-03-01 11:48:30)标签:linuxwindowsgrub4dosgrub2grub硬盘引导it分类:电脑人在井天一、用linux引导启动grub4dos,对于用grub或者grub2引导的linux系统,这一点可以轻松实现。目前主流的linux系统都是用grub或者grub2引导的。比如ubuntu和fedora.二、用grub4do...

Global site tag (gtag.js) - Google Analytics