Normalde sadece @Autowire nesneleri bahar nesnelerine alıyorum. Ancak, otomatik olarak bağlanabilecek değerler gerektiren bazı nesneleri dinamik olarak oluşturmam gereken bir durumla karşılaştım.İlkbaharda, yeni fasulyeleri otomatikleştirilmiş bir fasülyenin içinden otomatik olarak alabilir miyim?
Ne yapmalıyım? Yapabileceklerim, sadece otomatik kablolu değerleri yeni nesnelerin yapıcısına elle iletmektir. Yapmak istediğim şey, her yeni nesneyi oluşturduğumda otomatik hale getirmektir.
@Service
public class Foo {
@Autowired private Bar bar;
/** This creates Blah objects and passes in the autowired value. */
public void manuallyPassValues() {
List<Blah> blahs = new LinkedList<Blah>();
for(int i=0; i<5; ++i) {
Blah blah = new Blah(bar);
blahs.add(blah);
}
// ...
}
/** This creates Blah objects and autowires them. */
public void useAutowire() {
List<Blah> blahs = new LinkedList<Blah>();
for(int i=0; i<5; ++i) {
// How do I implement the createAutowiredObject method?
Blah blah = createAutowiredObject(Blah.class);
blahs.add(blah);
}
// ...
}
}
İdeal olarak bu fasulyede herhangi bir yapılandırma bilgisi olmaz. Autowired, bu nedenle herhangi bir nesne o bunları Autowiring tarafından kendisine mevcut olmalıdır yeni fasulye Autowiring yapması gereken oluyor