Кажется, что вашему экземпляру нужны некоторые значения времени выполнения для правильной инициализации. В таком случае это зависит от того, нужно ли вам использовать функцию пружины, такую как AOP, для экземпляра ClassA. Если да, переходите к методу внедрения. Если нет, вы можете использовать фабричный шаблон. Намного больше ОО и чище для меня:
Что-то вроде следующего. Вы должны получить идею.
@Component
public class FactoryForClassA {
@Autowired
private FooBean someDependencyForClassA;
public ClassA create(String name){
ClassA a = new ClassA(someDependencyForClassA);
a.setName(name);
return a;
}
}
И код клиента:
@Autowired
private FactoryForClassA factoryForClassA;
List<ClassA> caList = new ArrayList<ClassA>();
for (String name : nameList) {
ClassA a = factoryForClassA.create(name);
caList.add(ca);
}