|
|
1
1
我想到了一句老话“你可以用任何语言编写fortran”。使用spring作为服务定位器听起来像是您错过了让spring变得漂亮的大多数东西。Spring也不是一个很好的服务定位器。这也使得进行单元测试变得更加困难,因为您失去了一些非常好的松散耦合。(您正以这种方式拧紧联轴器) 在我看来,光是这些论点就足以成为转换的理由。我甚至都不会开始谈论性能,其他人已经指出,除非你处于一些紧张的循环中,否则不太可能。 从好的方面来说,您可能真的很容易转换为spring注释,这可能是您代码的原始作者没有执行“正确”spring的原因;他不喜欢所有的xml。对于注释,您不需要所有这些xml。 |
|
2
1
直接想到的一个可能的问题是,如果在函数方法中使用该代码,而不是在某些初始化方法中使用该代码,那么bean会被大量重新获取,这很可能会减慢速度。 这也不是真正可维护的,如果bean的名称被更改,那么对它的所有引用都必须手动更新,否则什么都不起作用。这当然扩展到依赖于其他bean的bean,甚至那些bean也可能依赖于其他bean,比如DataSource as bean到用于非事务性数据库查询的公共JDBC模板,该模板被注入到通用容器类中,所有其他类从该容器类中获取此类对象。 |
|
|
3
1
Spring提供的任何其他特性(AOP、作用域bean等)无论对象是注入还是从容器中获取,其行为都将是相同的。 |