??xml version="1.0" encoding="utf-8" standalone="yes"?>
全文地址Q?a >http://blog.csdn.net/calvinxiu/archive/2006/12/01/1423943.aspx
全文地址Q?a >http://blog.csdn.net/calvinxiu/archive/2006/11/24/1411678.aspx
目标Q?/strong>囊括JavaEE必须面对的所有问题的合理的、合乎实跉|准的解决ҎQ采用Plugins形式l织Q开发者可快速定位所需的参考方案ƈ做加法到自己的系l?br />
目|站Q?a >http://www.springside.org.cn
or http://springside.sourceforge.net
1. Featrue List
ServiceMix QWorkFlow的故事设计中?br />
5. RoadMap
Road Map in JIRA Issue Checker ,Ƣ迎大家提出更多Topic
.
6. 团队成员列表 (排名按加入顺?
Ƣ迎朋友们加入。h多速度快是很重要的事情?br />
参加方式?U?br /> 1.帮忙codereview提意?br /> 2.?u>JIRA里面领Q?br /> 3.?font color="#0000ff">JIRA 提出CQ务?br />
真正贡献了力量的同志自然会成为开发h?
Team WorkerQ?br /> 江南白衣QcacQ@_@QwuyuQcharlse, efaQyimlin
ContributorQ?/strong>
water ye QtotodoQdavid.turingQpesomeQoofrank
长老供奉:
庄表伟,Robbin
(排名按加入时_
7. 交流?/strong>
1.bean的依赖注?nbsp;
能不依靠WebContainer来完成ApplicationContext的徏立与POJO的依赖注入一向是Spring的得意之处?/FONT>
如果你连q也觉得ȝQ那么只要你的testCasel承于Spring-mock.jar里的AbstractDependencyInjectionSpringContextTestsQ实现public String[] getConfigLocations()函数Q?q显式写一些需要注入的变量的setter函数?BR> 注:因ؓ是AutoWire的,变量名必ȝ于Spring context文g里bean的id?/P>
2.Open Session in Test 及自动Rollback
又是来自Springq个奇国度的东西,加入下面几句Q就可以做到Open Session in Test Q解决Hibernate的lazy-load问题Q而且接管原来的DAO里的事务控制定义Q随意定义测试结束时是提交还是回滚,如果默认为回滚,则测试生数据变动不会媄响数据库内数据?BR> 你可以让testCasel承?STRONG>AbstractTransactionalDataSourceSpringContextTestsQ通过setDefaultRollback(boolean)Ҏ控制最后回滚还是提交?/FONT>
如果自己~写Q代码是q样的:
(注,hibernate太奸诈了Q如果全部默认回滚,只会在session里干z,一点不写数据库Q达不到完全的测试效果?
3.Controller层的Unit Test
controller层靠Spring提供的MockHttpServletRequest和Response来模拟真实的servlet环境Qƈ且spring 2.0了加了一个AbstractModelAndViewTestsQ提供一些检返回值的utils函数?/P>
4.q一步简?
一来这两个基类的名字都太长了?BR>二来有一些公qcontext文g的定义?BR>
所以可以再抽象了几?STRONG>基类Q?/STRONG>分别是DAOTestCaseQControllerTestCase?BR>
5. EasyMock
MockObject是一样彻底分层开发的好东西,而且使用上没什么难度。而且已不再存在只支持接口不支持Class的限制?BR>
Easy Mock VS JMock:
JMock 要求TestCasel承于MockObjectTestCase太霸道了。妨了我承于Spring2.0的ModelAndViewTestCase和用MockDao,RealDaoq行的承体pR因此采用没那么霔R的easyMock?/P>
另外QeasyMock的脚本录制虽不如jmock那么优美Q但胜在短易诅Rjmock那句太长??BR>
6. 昄层测?/STRONG>
q有Q显C层至今没有什么好的UnitTestҎQ无论是不成才的httpUnit们还是笨重的GUI test工具。Appfuse一直用的那个ThoughtWork那个Selenium?A >J3Unit的效果不知如何, 其中J3UnitL支持prototype?/P>
]]>
(除了EL里面不能调用goods的函敎ͼsun那帮老顽固始l坚持JSTL只能用于数据昄Q不能进行数据操作,所以不能调用bean的get/set外的Ҏ)
2. 最懒的form 数据l定
Spring得可怜的几个tag基本上是鸡肋Q完全可以不要?而Spring开发中的那些Simple Form tag又还没有发布。Spring的Tag主要用来把VO的值绑到input框上。但是,和Struts一P需要逐个Input框绑定,而且语法极度冗长Q遇到select框还要自p行处?....典型的Spring Sample面让h一阵头?
?A >jodd的form tagl了我们懒h一个懒得多的方法,只要?lt;form>两头?lt;jodd:form bean="myVO"></jodd:form>包住Q里面的所有input框,select框,checkBox...l统自动被绑定了Q这么简单的事情Q真不明白struts,springZ么不用,Z不必要的灉|性么?
q是因ؓ它的beanUtils比Jakata Common弱,用了一个错误的思\的缘故?动用beanUtils修改一下就可以了,修改后的源码可以在这里下?/A>?
3. DataGrid数据列表 DisplayTag和ValueList都属于这UŞ式的Tag Library。但最q出现的Extreme Table是真正的killerQ他本n功能强大不说Q而且从一开始就想着如何让别行扩展重载,比如Extend Attributes机制是DisplayTagq样的让千h一面者不会预留?BR>
4.css, javascript, ajax
天下UhQ没有什么特别想讲想推荐的,p谁吧?A >Buffalo
相关文章
化Spring(1)--配置文g
化Spring(2)--Model?/FONT>
化Spring(3)--Controller?/FONT>
化Spring(4)--View?/FONT>
Zh都爱Spring加Hibernate?BR> 但Spring MVC+hibernate的Sample如Appfuse的代码却不得最z优好读,如果在自q目中l发挥我们最擅长的依L葫芦大法Q美好愿望未必会实现?
所以,Pramatic_不灭。这个系列就是探L适合自己的Spring+Hibernate模式?BR>
I-配置文g?/STRONG>
我厌倦一切配|文件繁重的框架?
最好的情况是,框架提供极端灉|复杂的配|方式,但只在你需要的时?/STRONG>?BR>
Spring提供了三U可能来化XML。随着国内用户水^的提高,q些基本的简化技巧大安已掌握?BR> 大家可以直接看第3Q第4?-Spring 1.2, Spring 2.0的后l改q?BR>
1.1.autowire="byName" /"byType"
假设Controller有一个属性名为customerDAOQSpring׃在配|文仉查找有没有名字ؓCustomerDAO的bean, 自动为Controller注入?BR> 如果bean有两个属性,一个想默认注入Q一个想自定义,只要讑֮了autowireQ然后显式的声明那个惌定义的,可以达到要求。这应了需求,在需要特别配|的时候就提供配置Q否则给我一个默认注入?BR>
q有一个更懒的地方Q在最最栚w?lt;beans>节点写一句default-autovwrie="byName"Q可以让文g里的所有bean 都默认autowrie?BR> 不过Rod认ؓ开发期可以q样Q但Production Server上不应该使用Autowire。而我觉得那些自定义一ơ的地方比如TranscationManager应该详细定义Q而Dao,Controllerq种大量重复定义的bean可以偷Ҏ了?/P>
1.2.<bean>节点之间抽象公共定义?Inner Bean
q太方便懒h了,想不C个独立的XML节点都可以玩l承和派生,子节Ҏ有父节点的全部属性?BR> 最好用的地方就是那个Transtion Proxy的定义。先定义一个又长又冗的父类Q然后用子类ȝ承它?BR>
另外Q还有一个Inner Bean的机Ӟ可以把DAO写成Proxy的内部类。ؓ什么要写成内部c?Z让Proxy冒名替它去让Controller Autowire?详见后面的示?
1.3. 宽松的配|? To XML or Not to XML
据说Spring比Struts的配|宽松了很多Q这q人把东西从配|文件中撤回原码中的Z?BR> 不赞成什么都往配置文g里晒Q造成了Rich Information的配|文Ӟ修改或者查看的时候,要同时打开配置文g和原码才能清楚一切?
而我希望配置文g集中做一些整体的配置Q还有框架必ȝ、无需理的冗余代码。而一些细节的变化不大的配|和逻辑Q就量别往里塞了。因此,Success/Fail View 的配|,不徏议放在里面?
2.化后的配|文?/STRONG>
1.Controller只剩下一?/P>
2.DAO也只剩一?/P>
3.Servicecd剩下5?
3.Spring 1.2后xml语法?BR>
最主要的简化是把属性值和引用bean?STRONG>子节?/STRONG>变回?STRONG>属性?/STRONG>Q对不喜Ƣautowire的兄弟比较有用?BR> 当然Q如果value要CDATA的时候还是要用子节点。另外,list的值可以用I格隔开也比较实用?BR>
如果没有用Eclipse的Spring插gQ那臛_也要使用spring自带的dtd使XML~辑器smart一些,能够自动Z生成属?判断节点/属性名U有没有拼错{?BR>
6.q有更变态的化配|方?/STRONG>
比如autoproxyQ不q我觉得更简化就不可控了Q所以没有采用?BR>
相关文章
化Spring(1)--配置文g
化Spring(2)--Model?/FONT>
化Spring(3)--Controller?/FONT>
化Spring(4)--View?/FONT>