2013-08-01 98 views
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(); 

    } 
} 
+0

它啓動你的自動裝配Autowired豆你在哪裏,你啓動應用程序''上下文文件?你必須首先加載'context'來使用'ClassPathxmlApplicationcontext()'初始化bean' – SRy

+0

檢查這個例子:http://www.mkyong.com/spring3/spring-3-hello-world-example/ – SRy

回答

2

只有春季管理的bean將得到自動自動裝配(除非你使用某種AOP)。

在主類中手動創建MainShapes,並沒有什麼不同之處註釋春天有關。

它不會神奇地以這種方式工作。你可能想找回您的MainShapes從Spring IoC容器(並確保它是在應用程序上下文中)...

相關問題