人人网的开源框架paoding-rose(1)
计划使用servlet+jsp来做,不打算使用框架的,估计是遭了框架的毒了,自己的设计思路还是框架的思维,这样下去,自己就像去写框架了,自己的能力自己了解,就算写出来,价值顶多是自己吹牛用用,还不足使用现成的。
现在开源社区的框架遍地开花,分不出来好坏,经典的配合不是ssh,就是ssi,我都用过,传说中的mvc模式,我感觉用起来还没有jdbc使用的方便。
去年人人把自己的框架开源了,曾经看过,没地方用,没细细看,很失误的啊!昨天半夜起来,把人人的paoding-rose下载下来,计划今天研究研究,看一下看传说中的人人框架。
人人paoding-rose的地址是:http://code.google.com/p/paoding-rose/
版本还是2010年6月份1.01的版本,真的是好久都没更新了。
paoding-rose其实不能说是人人开发的框架,它是在spring2.5.6上面二次开发,开发了一些特性,更加能快速开发。
paoding-rose的lib包有9m大,这个我认为就很大了,看lib中,除了常用的jar包外,有spring,还有paoding-rose的包,另外还有veloctiy的包。veloctiy是个模板引擎,我是打算这次使用到项目中的,这下集中进来了,省了不少事情!
我学习的方法是,看demo,写demo,在写demo的过程中再看API的使用。
paoding-rose的文档太节约了,demo也很少,有些东西我是蒙出来的。文档和demo的说明,还算规范,源码中的注释写的很详细,虽说里面有些错误,但也不影响阅读。例子,这个写的,我就怀疑是不是写框架的人写的了,里面那么多明显的错误,也不改改。
网上除了人人在google上面的提供的文档外,没看到其他例子,写了一个,依照是第二个例子,也仅仅是做了一个查询而已,相当简单,看看就会。
下载地址是:
其中使用paoding-rose,有几个需要注意的
1.简单的dao,写接口就可以,在@SQL("")中写好sql就可以了,不用写实现类,这点很实用、快速。写实现类的核心就是写sql脚本,而paoding-rose就是把sql封装到了@SQL(),看源码,也就是动态解析生成,难度不大,不过这样的思想可不容易学啊!
2.controller层必须出现在controllers包中,名字必须满足***Controller,我就是因为没有这样做,害的我查了好几个小时,饭都没吃好,和官网上面的例子,一个一个做对比,才发现的,而且,这样关键的约定,我没有在官网的任何地方发现有说明,o(︶︿︶)o 唉!框架做的不错,就是文档做的有些差。这样的规定是一个框架的约定,我认为这样不太适合,我已经做好了注解,还要指明路径,才能找到controller,完全可以做成自动载入的,不过,想一想,在一个大型项目中,java类会很多的,完全靠自动扫描,也有些不现实。
3.很关键的一点,要注意其中那些原标记的使用。在paoding-rose中,大量使用原标记,原标记的确是很好用的东西。