我一直对我现在必须维护的一些应用程序感到非常恼火,这些应用程序坚持使用类代理而不是接口(interface)代理。更具体地说,我有被代理的服务层类,但我不能让它们最终化(即使它们应该是)因为出于某种原因有人决定它们应该由实际类代理,而不是通过接口(interface)(尽管所有这些类中的任何一个都有接口(interface))。
Spring的AOP配置中,除了不用做接口(interface)之外,还有什么真正的理由通过目标类代理而不是基于目标接口(interface)代理?
最佳答案
只有当你真的希望类不改变时;按接口(interface)代理会更强大,因为它更灵活,但如果你真的想把事情锁定在一个单一的实现上,按类代理就是你要做的。我可以想象一种情况,在这种情况下,人们可能希望继续依赖专有类解决方案,而不是让任何接口(interface)实现者都可以被代理,但对我来说,这些似乎是边缘情况;我通常会假设使用该界面。
关于spring - 按类代理与按接口(interface)代理 (Spring) 相比有什么好处?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1139104/