2

自動配線を使用しようとしていますが、自動配線に失敗します。これがコードスニペットです。

アプリ コンテキスト ファイル:

<context:annotation-config />
    <context:component-scan base-package="com.shapes" />

    <bean id = "triangle" class = "com.shapes.Triangle" autowire="byName"></bean>

三角形のクラス:

@Component
public class Triangle implements Shape {

    @Override
    public void draw() {
        System.out.println("In draw");

    }

}

メインクラス:

public class MainShapes {

    @Autowired
    private Triangle triangle;

    /**
     * @param args
     */
    public static void main(String[] args) {
        MainShapes shapes  = new MainShapes();
        shapes.triangle.draw();

    }
}
4

1 に答える 1

2

スプリング管理の Bean のみが自動的に自動配線されます (何らかの AOP を使用しない限り)。

メインクラスMainShapesでは手動で作成し、注釈以外に春に関連するものは何もありません。

魔法のようには機能しません。MainShapesおそらく、Spring ioc コンテナーから取得したいでしょう(そして、それがアプリのコンテキストにあることを確認してください) ...

于 2013-08-01T17:58:03.803 に答える