spring为什么注入接口而不是实现类?

首先,一般使用接口是很常用并且有益的变成技术。

其次,在spring中,你可以在运行过程中注入各种实现。一个很经典的情况就是在测试阶段,注入模拟的实现类。

===

1.网上说jdk动态代理基于实现接口。直接注入实现类会使aop失效。没有cglib可能真的就失效了。
2.解耦。假如有一天实现类的名称变了。每个依赖注入它的都要修改。而注入接口的不需要修改,只需要替换实现类就行。

===

 

posted @ 2023-06-02 16:38  super超人  阅读(543)  评论(0)    收藏  举报