我有个倡议:spring配置文件抽取器

metadmin 2009-03-30
场景:
有没有做过比较大项目的同学们?比如几十个人的项目组,然后分为几个team。
这样各个组模块化,但组之间会存在应用服务调用。
各个组,各自书写自己的spring配置文件。然后合并。

问题:
如果某个team配置文件没用搞对,会影响其他组的开发、测试。

建议解决办法:
1,当我开发测试时,尽可能使用最小量的spring配置文件,也就是把不必要的bean配置删除掉。这样也就是输入参数是:一个bean或者几个bean的名字,可以自动抽取并生成一个最小量的配置文件,而不用改动项目的spring配置文件。
2,如果再进一步!!! 指定那些bean,使用某些mock类,这样自动的mock“注入”到抽取的最小量的配置文件,而不用改动项目的spring配置文件。


另外:私人呼吁一下:
我创建了权限管理圈子,欢迎大家参与讨论,并加入进来:
http://accessmanager.group.iteye.com/
sys53 2009-03-30
不是特别明白,有个简单的用例代码吗?
还有,个人觉得,是否用最小的spring配置依置于你的spring的依赖耦合性。尽可能把各小组之间的开发配置解耦。小的单元测试减少spring注入是好事,不过,对于整体来说也不一定好,毕尽系统要进行整体部署,一旦测试有问题可以最早的把问题解决了,并不会影响到,或者影响带来的有利点大于弊点。

可能不是太明白你想要做的,不知道我说的对不对,有例子再细论。
metadmin 2009-03-30
我觉得你明白的差不多了。

引入这个,主要就是为了加速开发和单元测试。
整体测试,和大模块测试,不应该使用这种方式。

想想当年,我修改一下代码,重新测试一下,环境(spring, hibernate, db pool)启动竟然要2分钟。
还有很多人测试,直接加上struts来呢。直接点击界面,输入参数等,天哪,那更慢。
又遥想起我师傅当年发布EJB的时候,出去抽根烟才回来。师傅告诉我这个太慢啦。


引入这样一个最小配置后,估计会有很多人爱上测试的。
metadmin 2009-03-30
比如:
bean1--->bean2
bean2--->bean3
bean2--->bean4
bean4--->bean5
bean7--->bean2
bean8--->bean9

那么,
输入bean8,则抽取出bean8、bean9的配置。
输入bean2,则抽取出bean2、bean3、bean4、bean5的配置。
sys53 2009-03-31
一个好的单位测试代码应该是可以把各种耦合的service或者其它MOCK出来,达到你想要的只测试你自己这一块的代码,如果你样做看最终功能性效果的测试,我倒是不觉得一定要解耦出来,让它慢慢的跑着,去泡杯咖啡,吹一下牛再回来,刚好劳逸结合。

抽取出来有一定的价值,至少可以少写MOCK代码(这个时间也是不少的),不过,最终可以抽取出来的东西还是有很多。鼓劲去研究一下,至时分享一下用此方法带来的好处的背景。
metadmin 2009-03-31
sys53 写道
让它慢慢的跑着,去泡杯咖啡,吹一下牛再回来,刚好劳逸结合。


有的时候,项目急,可以让开发的哥们喊:俺的亲娘啊。。。
stone0660 2009-04-10
这个提议绝对同意。
自己上个项目就是遇到这个问题,手工检查很折磨人。

所以说有必要作个tool,自动的根据给定Bean来抽取关联Bean信息,
组合成一个自成一体的config文件。
netAccount 2010-02-09
思想很好。值得学习。
Global site tag (gtag.js) - Google Analytics