Ben bir gözyaşı bana getiren bir Bahar harita sorunum var.kullanımlar: harita, harita türünün her fasulyesini toplayarak ilkbaharda
Benim bahar şöyle görünür:
<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:util="http://www.springframework.org/schema/util"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.0.xsd
">
<util:map id="mockMap">
<entry key="userTest1" value="test1"/>
<entry key="userTest2" value="test2"/>
<entry key="userTest3" value="test6"/>
</util:map>
</beans>
Sonra şöyle şudur Autowiring am kodu (ilgisiz parçalar ommitted):
Şaşırtıcı ki@Autowired
@Resource(name="mockMap")
Map<String, String> testMap;
@Test
public void testGetGearListActivityOK() {
for (String key : testMap.keySet()) {
System.out.println("key = " + key);
}
}
, bu aslında bana bir verecek Otomatik kablolama adımında, çekirdekle eşleşen tipte bir String olmadığını belirten bir hata. Henüz giriş anahtar bölümü almanız mümkün olmamıştır
[junit] key = mockMap [junit] key = org.springframework.context.annotation.internalConfigurationAnnotationProcessor [junit] key = org.springframework.context.annotation.internalAutowiredAnnotationProcessor [junit] key = org.springframework.context.annotation.internalRequiredAnnotationProcessor [junit] key = org.springframework.context.annotation.internalCommonAnnotationProcessor [junit] key = systemProperties [junit] key = systemEnvironment [junit] key = messageSource [junit] key = applicationEventMulticaster [junit] key = lifecycleProcessor
: Ben birim testinde haritası Harita olarak tanımlanabilir değiştirmek Ancak, o zaman takip çıktısını almak aslında bir anahtar olarak ortaya çıkıyor. Haritayı Haritaya geri döndürüp, ilkbaharıma biraz eklerseniz, harita, kimliklerini tuşlar olarak kullananlarla doldurulur.
Burada çok kafam karışık ve geçmişte iyi bir miktar bahar kullandım. Herkesin burada neler olduğu hakkında bir ipucu varsa çok minnettar olurum.
Şimdiden teşekkürler. "= Auto-wiring a List using util schema gives NoSuchBeanDefinitionException
Ama zaten yapıyorum @Resource kullanımı yoktur çözümü ..
Otomatik Kablolu, Kaynak'ı geçersiz kılar ve bu nedenle Bahar, bahar içeriği olan ilk Harita nesnesini arar. Bu yüzden çıkış olarak bahsettiğin anahtarı aldın. – dennisjtaylor
Gerçekte, herhangi bir koleksiyonda @Autowired kullanırsanız, niteleyicinizle eşleşen herhangi bir fasulyeyi (veya niteleyiciniz yoksa bu türdeki bütün fasülyeleri) arayacak ve bunları koleksiyona ekleyeceksiniz. Bu türden çekirdekleriniz yoksa, o nesnenin otomatik olarak yüklenmesi sırasında "fasulye bulunamaz, en az bir beklenen" istisnası alırsınız. – Craig
bugün bu konuda 3 saat geçirdim :( – Nayn