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

只有 spring 管理的 bean 会自动自动装配(除非你使用某种 AOP)。

在您的主类中,您MainShapes手动创建,除了注释之外没有任何与 spring 相关的内容。

它不会神奇地那样工作。您可能想MainShapes从 spring ioc 容器中检索您的(并确保它在应用程序上下文中)...

于 2013-08-01T17:58:03.803 回答