Saya mencoba memahami apa yang akan menjadi penggunaan Spring yang benar. Bukan secara sintaksis, tetapi dalam hal tujuannya. Jika seseorang menggunakan Spring, maka haruskah kode Spring mengganti semua kode Instansiasi bean? Kapan harus menggunakan atau kapan tidak menggunakan Spring, untuk instantiate bean?
Mungkin contoh kode berikut akan membantu Anda memahami dilema saya:
List<ClassA> caList = new ArrayList<ClassA>();
for (String name : nameList) {
ClassA ca = new ClassA();
ca.setName(name);
caList.add(ca);
}
Jika saya mengkonfigurasi Spring, itu menjadi seperti:
List<ClassA> caList = new ArrayList<ClassA>();
for (String name : nameList) {
ClassA ca = (ClassA)SomeContext.getBean(BeanLookupConstants.CLASS_A);
ca.setName(name);
caList.add(ca);
}
Saya pribadi berpikir menggunakan Spring di sini adalah overhead yang tidak perlu, karena
- Kode lebih mudah dibaca / dimengerti.
- Ini sebenarnya bukan tempat yang bagus untuk Dependency Injection karena saya tidak berharap akan ada banyak / beragam implementasi
ClassA
, yang saya ingin kebebasan untuk menggantikan menggunakan konfigurasi Spring pada waktu kemudian.
Apakah saya berpikir benar? Jika tidak, di mana kesalahan saya?