我一直在尝试使用自动装配,但无法自动装配。这是代码片段,
应用程序上下文文件:
<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();
}
}
答案 0 :(得分:2)
只有Spring管理的bean会自动自动装配(除非您使用某种AOP)。
在您的主课程中,您手动创建MainShapes
,除注释外没有任何与春天相关的内容。
这不会神奇地工作。您可能想要从spring ioc容器中检索MainShapes
(并确保它在应用程序上下文中)...