没有使用Spring beans注入的经验。
<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注入到过滤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中,我附加了用于调用变量的setter/getter:
boolean maintenanceMode;
public void setMaintenanceMode(boolean mode)
{
this.maintenanceMode = mode;
}
public boolean getMaintenanceMode()
{
return maintenanceMode;
}
并将setter/getter附加到MaintenanceRequestFilter中:
boolean modeService;
public void setModeService(MaintenanceService maintenanceMode)
{
this.modeService = maintenanceMode;
}
public MaintenanceService getMaintenanceMode()
{
return modeService;
}
然后在doFilter()中调用modeService
但是大错特错了。
发布于 2012-07-12 16:57:21
<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;
}
}
发布于 2012-07-12 16:49:33
您可以使用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>
https://stackoverflow.com/questions/11448105
复制相似问题