來補一下 "如何驗證效果" 的部份
首先假設情境, A 是你的 Web App
B 是那個要被 Spring 注入的東西, 假設在 "外部" "其它人開發的 jar" 裡面
驗證的項目
1. B "改變" 時, A 需要做哪些事?
ex: B 的 package 名改了,
A 要?
1-1. 什麼都不用做只要改 springboot config,
1-2. 要改 code,
1-3. 要重新 build
2. 要將 A 中的 B 替換成 C/D/E 時, 需要做哪些事?
2-1. 什麼都不用做只要改 springboot config,
2-2. 要改主程式裡的 import 並重 build
2-3. 要改很多檔案裡的 import 敘述並重 build
2-4. 甚至還要改一卡車方法名, 連帶的傳入參數類型, etc
然後想想看, 假如 A 是你在維護, 然後發生第 1 點的狀況
或者 A 是你買來的系統, 然後你想做第 2 點的事情如換個資料庫、換個連線 lib
或者你想在 B 沒完工確定前先寫測試測 A 的流程跟邏輯
是能自己很容易做到, 還是得請原開發者幫忙甚至再重出一版
把各種做法, 包括
直接依賴實體、A/B 都依賴於 A 中所定義的介面、
使用 Spring 注入, 在主程式自己 new 自己塞等等,
通通用上面幾項確認一下, 大概就知道效果在哪了