我有个倡议: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
思想很好。值得学习。
|