我试图了解什么是Spring的正确用法。不是语法,而是目的。如果使用Spring,那么Spring代码是否应该替换所有bean实例化代码?什么时候使用或何时不使用Spring来实例化bean?
可能以下代码示例将帮助您理解我的困境:
List<ClassA> caList = new ArrayList<ClassA>();
for (String name : nameList) {
ClassA ca = new ClassA();
ca.setName(name);
caList.add(ca);
}
如果我配置Spring,它将变为:
List<ClassA> caList = new ArrayList<ClassA>();
for (String name : nameList) {
ClassA ca = (ClassA)SomeContext.getBean(BeanLookupConstants.CLASS_A);
ca.setName(name);
caList.add(ca);
}
我个人认为在这里使用Spring是不必要的开销,因为
- 该代码更易于阅读/理解。
- 这并不是真正的依赖注入的好地方,因为我不希望会有的/可变的实现
ClassA
,我希望以后可以自由使用Spring配置进行替换。
我认为正确吗?如果没有,那我要去哪里错了?