Bir yay uygulamanız var (Spring Batch not web application). Bir test sınıfında, belirli bir türdeki tüm fasulyelere erişim almak istiyorum.
İlkbaharda, genellikle IOC'yi kullanmanız ve kabın fasulyenizi enjekte etmesine izin vermeniz gerektiğini anlıyorum. Ancak bu durumda, belirli bir sınıfı (org.springframework.batch.item.database.JdbcCursorItemReader) genişleten ve bir şeyler yapan (yalnızca bağlanmayı sağlayan bir birim/entegrasyon testi olmasını istiyorsanız) değişken sayıda fasulye arasında geçiş yapmak istiyorum. Bu veritabanına ve 1 satır okur, bu yüzden sistemde tüm JdbcCursorItemReader geçerli SQL ve satır mappers var test zamanında teyit edebilirsiniz).Belirli bir türdeki tüm yay çekirdeklerine erişime izin ver
Sorun 1) Her seferinde sadece bir tane alabilirim. Benim fasulyem referans almak için benim sınıf BeanFactoryAware uygulamak olabilir. Sonra beanFactory.getBean ("isim") yapabilirim; Tek bir fasülyeye erişmek için. TÜM fasulyeleri nasıl alırım? İstediğim sınıf olmayanları içine sokup bırakabilirim .. ama bir şekilde böreğin ya da bir şeyin bildiği bütün fasülyelerin bir listesini istiyorum.
Sorun 2) Fasulyeden geri aldığım fasulye bir vekildir. Yayınlayabileceğim ve benim fasulye kullanmaya çalışırsanız ben java.lang.ClassCastException gibi bir şey olsun: $ Proxy0 org.springframework.batch.item.database.JdbcCursorItemReader
Bunu ItemReader'a atayabilir ve kullanabilir miyim? Ve vekil sihir bana gerçek okuyucuyu verecek mi? Hummmm bahar bazen karmaşıktır – bwawok
@bwawok: Evet, ItemReader'a yayınlamak iyi çalışıyor. Sadece 'JdbcCursorItemReader' için çalışmayın ve kullanmayın. – skaffman
@skaffman: Peki ya buna benzer bir şey yapmam gerekiyorsa ((JdbcCursorItemReader) itemReader) .open (executionContext); –