public class SomeClass {
@Autowired
public WaterContainer wc;
private static int count = 0;
SomeClass(){ ++count;}
public static int testmethod() {
return count;
}
public static void main(String[] args) {
ApplicationContext context = new FileSystemXmlApplicationContext("spring-configuration\\beans.xml");
SomeClass obj = context.getBean(SomeClass.class);
//SomeClass obj2 = new SomeClass();
System.out.println("value of count "+SomeClass.testmethod());
if(obj.wc != null)
System.out.println("wc volume "+obj.wc.getCurrentVolume());
else
System.out.println("wc bean "+context.getBean(WaterContainer.class).getCurrentVolume()); //+(obj.wc==null)
}
}
註解beans.xml的文件包含此: 同時使用Spring的ApplicationContext如下面的例子,是照顧
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
<bean class="com.app.data.SomeClass"/>
<bean class="com.app.mechanism.WaterContainer">
<constructor-arg value="30"/>
</bean>
</beans>
,我得到的產量如下,但我期待的領域SomeClass對象中的wc不能爲null,這是否意味着autowired註釋不被處理?或者我在某個地方出錯了?計數1
WC豆
值30
如果是這樣的話怎麼做
@RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations = {"file:spring-configuration\\beans.xml"})
單元測試工作?這裏的自動裝配是如何處理的
<上下文:註解的配置/> <上下文:組分掃描基包=「com.app 「/> – MarianP 2014-09-03 13:35:23
如果自動處理註釋取決於所使用的'ApplicationContext'的類型。正如你已經注意到的那樣,你使用的那個不會處理註釋。啓用註釋處理ass' '。或者使用'AnnotationConfigApplicationContext'併爲其提供xml文件。 –
2014-09-03 14:24:56