2012-07-12 148 views
0

春豆入口沒有經驗。豆入豆注入

<beans:bean id="ModeService" 
     class="<path>Service"> 
    <beans:property name="Mode" value="true"/> 
</beans:bean> 

<beans:bean id="Filter" 
     class="<path>.RequestFilter"> 
    <custom-filter position="FIRST" /> 
</beans:bean> 

如何將ModeService bean注入Filter bean?在Spring THX @William

好吧,我有注射於是有:

<beans:bean id="maintenanceModeService" 
     class="<path>.MaintenanceService"> 
    <beans:property name="maintenanceMode" value="true"/> 
</beans:bean> 

<beans:bean id="maintenanceFilter" 
     class="<path>.MaintenanceRequestFilter"> 
    <custom-filter position="FIRST" /> 
    <beans:property name="modeService" ref="maintenanceModeService"/> 
</beans:bean> 

在MaintenanceService,我已經追加二傳手/ getter方法調用變量:

boolean maintenanceMode; 

public void setMaintenanceMode(boolean mode) 
{ 
    this.maintenanceMode = mode; 
} 

public boolean getMaintenanceMode() 
{ 
    return maintenanceMode; 
} 

和追加二傳手/吸氣到MaintenanceRequestFilter:

boolean modeService; 

public void setModeService(MaintenanceService maintenanceMode) 
{ 
    this.modeService = maintenanceMode; 
} 

public MaintenanceService getMaintenanceMode() 
{ 
    return modeService; 
} 

,然後調用modeServ冰的doFilter()

但不便錯了...

+0

我解決我的問題,這只是疏忽:) – Pilot 2012-07-12 10:44:08

回答

0
<beans:bean id="Filter" class="<path>.RequestFilter"> 
    <custom-filter position="FIRST" /> 
    <beans:property name="modeService" ref="ModService"/> 
</beans:bean> 

而且你應該有一個getter/setter方法在你的類

class RequestFilter{ 
    public void setModeService(ModService modService){ 
     // some set code here 
    } 

    public ModeService getModeService(){ 
     // some set code here 
     return modService; 
    } 
} 
+0

我已根據您的建議更新了代碼,但無法正常工作。這可能是我在依賴注入中的空間... – Pilot 2012-07-12 10:10:43

+0

我解決了我的問題,這只是無知:) – Pilot 2012-07-12 10:43:25

0

您可以使用ref屬性來定義到另一個bean的引用。 Filter類應具有ModeService類型的屬性,以便您可以使用ref屬性在<property>標記中定義它。

<beans:bean id="Filter" class="<path>.RequestFilter"> 
    <custom-filter position="FIRST" /> 
    <beans:property name="modeService" ref="ModeService"/> 
</beans:bean> 
+0

如何準確地注入ModeService的財產<豆:財產name =「Mode」value =「true」/>使用Filter的modeService屬性? – Pilot 2012-07-12 09:08:59

+0

@Pilot:使用我上面提到的代碼.' '會注入'modesrevice' bean。 – xyz 2012-07-12 10:16:08