我一直在尝试使用 Autowiring ,但无法 Autowiring 。这是代码片段,
应用程序上下文文件:
<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();
}
}
最佳答案
只有 spring 管理的 bean 才会自动连接(除非您使用某种 AOP)。
在你的主类中,你手动创建MainShapes
,除了注释之外,没有任何与spring相关的内容。
它不会神奇地那样工作。您可能想从 spring ioc 容器检索您的 MainShapes
(并确保它位于应用程序上下文中)...
关于spring - Spring 不会发生 Autowiring ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18001132/