Re: [请益] Spring boot的依赖注入降低耦合的例子

楼主: ripple0129 (perry tsai)   2022-04-01 02:10:25
很久没写Java了
就个人观念提供简单思考线索
基本上根据你的内容觉得你对解耦合还没有很理解
讲直白一点
当你import类别就是耦合了
而你import的是接口不是类别就是解耦合了
因为类别提供了实作
import A是接口
A还没有实作
实作由@autowire注入类别物件使用
所以实作可以抽换
你把import的东西仔细看一下哪些是import到类别
全部替换为接口
再透过接口来呼叫使用
物件由autowire来自动生成使用
这样就是解耦了
希望能帮助到你
作者: ntpuisbest (阿龙)   2022-04-01 08:11:00
这个好像有看到例子,感觉跟版友说的qualfied注解有关
作者: drajan (EasoN)   2022-04-01 09:42:00
其实就是一个观念 “当实作依赖于抽象而非实作 就是解耦”
作者: ntpuisbest (阿龙)   2022-04-01 10:10:00
然后必须要靠autowired才能帮我们注入被实作的class?那如果没有autowired又想靠接口隔离怎办?
作者: tw11509 (John-117)   2022-04-01 10:44:00
Autowired就是Spring的DI,如果是每次都要New,Spring有提供另一个Scope的注解当然你还是要autowired还有接口不能直接New没错,所以你一定是呼叫某个method他的type是你要的interface,真的回什么就是看你的实作了
作者: ntpuisbest (阿龙)   2022-04-01 11:11:00
应该说如果不依靠框架,单纯自己想实作接口隔离原则怎办
作者: bheegrl   2022-04-01 12:00:00
泛型+参数档+mapping用的util,拿到实际你要用的object
作者: liturtle (无法定义)   2022-04-01 12:00:00
这些观念是共通的,只是 spring 有直接写好的 autowired可以用,没有框架自己实作也可以
作者: bheegrl   2022-04-01 12:01:00
不过这样很搞就是了
作者: ntpuisbest (阿龙)   2022-04-01 12:31:00
作者: KY1998 (HAN)   2022-04-01 13:05:00
@Resource(“name”)也可以
作者: CRPKT (crpkt)   2022-04-02 01:01:00
自己实作就是用 Reflection API
作者: randall1234 (威轩沙)   2022-04-02 07:32:00
自己搞就是用反射

Links booklink

Contact Us: admin [ a t ] ucptt.com