この小さなコードを実行しています。
public class TestIOC {
@Resource
University university;
public static void main(String[] arg)
{
ApplicationContext context =
new ClassPathXmlApplicationContext("service.xml");
TestIOC ioc = new TestIOC();
//ioc.university = (University)context.getBean("university");
System.out.println(ioc.university);
}
}
これが私の service.xml ファイルです。
<context:annotation-config />
<bean id="university" class="com.test.beans.University">
<constructor-arg type = "int" value="1" />
<constructor-arg type = "java.lang.String" value="Some University" />
<constructor-arg type = "java.lang.String" value="Some City" />
</bean>
コメントした場合 context.getBean("university"); 大学の値を印刷できません。ただし、 context.getBean("university"); を使用します。出力を印刷できます。
@Resource を使用していますが、Bean を注入するには getBean メソッドが必要でした。