我正在使用错误构建的spring应用程序.需要引用的对象不是使用IOC,而是从上下文中提取其引用:
beanfactory b = SingletonbeanfactoryLocator.getInstance().
usebeanfactory("factory").getFactory();
Bean foo = (FOO)beanfactory.getBean("foo");
撇开非IOC设计,这还有其他有害影响吗?例如,这是否对性能有特殊影响?有什么办法可以导致创建其他上下文或对象引用?还有什么真正令人不愉快的事情可能引起的吗?
最佳答案
古老的短语“您可以用任何语言编程fortran”都浮现在脑海.使用spring作为服务定位器听起来好像您错过了许多使spring变得美好的事情. Spring也不是一个漂亮的服务定位器.这也使单元测试变得更加困难,因为您松开了一些非常好的松散耦合. (您通过这种方式拧紧联轴器)
IMO仅凭这些论点就足以转换.我什至不会开始谈论性能,其他人已经指出,除非您处于紧密的循环中,否则不太可能.
从好的方面来说,您可能真的很容易转换为spring注释,这可能是代码原始作者未执行“正确” spring的原因.他不喜欢所有的xml.使用注释,您不需要所有的xml.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。