0

私はSpringで非常に新しいので、どこから始めればよいか本当にわかりません。

現在、私は通常のようにクラスをインスタンス化していますが、

ClassImpl newImpl = new ClassImpl();

Spring の context.xml を介してこれを実行したいので、クラスを Bean としてロードしました。

<bean id="ClassId" class="ClassImpl"></bean>

Bean として渡したという事実を利用して、ClassImpl のインスタンス化をどのように知ることができますか? つまり、Spring に注入させて newImpl に新しい ClassImpl を与えるにはどうすればよいでしょうか。

4

1 に答える 1

1

次のようにします。

ApplicationContext ctx = new ClassPathXmlApplicationContext("classpath:" + [package_name/context.xml]);
ClassImpl newImpl = (ClassImpl) ctx.getBean("ClassId")

プロジェクト外の context.xml からロードしている場合は、できると思います

ApplicationContext ctx = new FileSystemXmlApplicationContext(path_to_context.xml);
ClassImpl newImpl = (ClassImpl) ctx.getBean("ClassId")
于 2012-09-11T21:37:38.350 に答える