Spring的宣传口号中有以下几点:
针对接口编程通过XML配置业务类避免不必要的SingletonDAO的封装异常的处理AOP一些额外功能的支持整个Spring可以这样说,通过配置文件对业务进行配置。
当然有些口号确实帮助程序减轻了开发工作,也使得Web开发更加容易,但是并不是所有的口号都描述了事实。
我的看法列在下面,供大家参考:
配置文件有一定的灵活性,但是万事有利有弊,配置文件在带来灵活性的同时,也带来了很多弊端:
一般来说,配置文件是无法利用编译器的静态检查功能,只能通过大量单元测试来解决问题,也就是说它将许多可以静态编译器可以发现的错误,推迟到了单元测试甚至运行时才能发现。这样需要编写大量的单元测试,甚至部分是不需要的,无谓的增加开发量。即使进行一些简单修改,也需要完整的运行测试用例,增加了测试量。有时候说XML配置可以随时修改,不需要重新启动服务,其实不见得,如果新增加了或者修改了类,不管有没有修改配置文件都需要重新启动服务(大部分的WEB Server可以支持热布署),从这方面来看,修改配置文件和修改代码没有质的区别。利用IDE,如Eclipse很容易查看代码,包括继承,调用等,对代码也很容易管理,对于XML配置文件,随着模块的增加,不仅难以维护,而且难以查找。如何重构,一般的IDE主要是支持代码级的重构,对XML重构的支持都不完善,XML的验证机制也很难保证XML文件的正确性。XML配置文件带来弱类型的使用,也就是说如果你要使用一个对象,必须进行强行转换,这样使用,对Java这种强类型的编译语言,其实不一定是一件好事,一般的设计中总要尽量避免强行转型的。