2013-04-18 100 views
0

在Spring中,通常我使用方法getBean()訪問一個bean。例如:Spring -servlet.xml bean訪問

的AplicationContext.xml:

<?xml version="1.0" encoding="UTF-8"?> 
<beans xmlns="http://www... etc"> 
     <bean id="MyClass" class="ioc.beans.MyClass" /> 
</beans> 

化java:

ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml"); 
MyClass cl = applicationContext.getBean("MyClass", MyClass.class); 

現在我用Spring MVC和豆類工作在後綴-servlet一個XML文件創建,我沒有ClassPathXmlApplicationContext。

如何從我的控制器訪問我的java bean來處理對象,如果沒有getBeans方法? (也考慮到這種方法 - 在任何啓動教程中Spring的首要特徵 - 是一種不好的做法)。

回答

1

如果你的Web應用程序有沒有真正的理由編程得豆一樣,中使用Spring。

您應該使用顯式構造函數/設置器注入或自動裝配。在第一種情況下,所有Spring管理的bean都應該在您的XML中定義(如果您使用的是JavaConfig)。第二,要自動裝配的類應該在你的XML/JavaConfig中聲明,或者應該在組件掃描路徑上。

+0

謝謝。閱讀你的答案,現在我感到尷尬的基本問題。 – Rodrigo

+0

查看[Spring Petclinic示例應用程序](https://github.com/SpringSource/spring-petclinic)以瞭解最佳實踐。 – ach

1

春天依賴注入(構造函數注入 Setter注入)都可以使用。

private WildAnimal wild; 


@Autowired 
    public void setWild(WildAnimal wild) { 
    this.wild = wild; 
    } 

在XML

<bean id="wild" class="com.javapapers.spring.ioc.Wolf" /> 
相關問題