ClassPathApplicationContextXmlコードを回避することはできませんが、以下のようにしてctx.getBean( "user")を回避できます。理想的には、XMLが、バネが物事を注入したい場所のパッケージをスキャンするように要求することです。ここでは唯一のことは、春のアノテーションが春に認定されたクラスで動作するため、春のコンポーネントとしてメインクラスを宣言していることです。 Classpathapplicationcontextを使用したxmlのロードを回避することはできません。テストのための@ContextConfiguration
非常に有用と呼ば:春の注釈があり
package com.spring.sample;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.stereotype.Component;
import com.spring.sample.component.Sample;
@Component
public class SampleMain {
@Autowired
Sample testSample;
static ApplicationContext appCtx = new ClassPathXmlApplicationContext("META-INF/webmvc-application.xml");
public static void main(String[] args){
SampleMain sampleMain = appCtx.getBean(SampleMain.class);
sampleMain.invokeSample();
}
private void invokeSample(){
testSample.invokeSample();
}
}