首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Bean到bean注入

Bean到bean注入
EN

Stack Overflow用户
提问于 2012-07-12 16:46:50
回答 2查看 227关注 0票数 0

没有使用Spring beans注入的经验。

代码语言:javascript
运行
复制
<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中有注射,所以有:

代码语言:javascript
运行
复制
<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:

代码语言:javascript
运行
复制
boolean maintenanceMode;

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

public boolean getMaintenanceMode()
{
    return maintenanceMode;
}

并将setter/getter附加到MaintenanceRequestFilter中:

代码语言:javascript
运行
复制
boolean modeService;

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

public MaintenanceService getMaintenanceMode()
{
    return modeService;
}

然后在doFilter()中调用modeService

但是大错特错了。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-07-12 16:57:21

代码语言:javascript
运行
复制
<beans:bean id="Filter" class="<path>.RequestFilter">
    <custom-filter position="FIRST" />
    <beans:property name="modeService" ref="ModService"/>
</beans:bean>

并且您的类中应该有一个getter/setter方法

代码语言:javascript
运行
复制
class RequestFilter{
    public void setModeService(ModService modService){
        // some set code here
    }

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

Stack Overflow用户

发布于 2012-07-12 16:49:33

您可以使用ref属性来定义对另一个bean的引用。Filter类应该具有ModeService类型的属性,以便您可以使用ref属性在<property>标记中定义它。

代码语言:javascript
运行
复制
<beans:bean id="Filter" class="<path>.RequestFilter">
    <custom-filter position="FIRST" />
    <beans:property name="modeService" ref="ModeService"/>
</beans:bean>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11448105

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档