微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用Spring属性配置Spring查找方法

每次使用查找方法Spring依赖注入调用bean(myBean)时,我都会尝试注入一个属性

cope="prototype" class="DefaultUri" >        
    

以上XML在启动时返回此错误

“来自PortletContext资源的XML文档无效”

错误似乎是因为< lookup-method name =“getUri”bean =“defaultUri”/>配置不正确.

当我试图在上面的XML中实现时,如何在String’属性’中配置Spring查找方法

最佳答案
Lookup方法注入是容器覆盖容器托管bean上的方法的能力,以返回容器中另一个命名bean的查找结果.

现在,假设您希望每次在myclass(它是一个单独的bean)中调用方法(让它是createDefaultUri)时获取DefaultUri的新实例(这是一个原型bean).然后你可以将MyClass定义为:

class abstract Myclass {
 public String getUri(){
    // create a new instance of DefaultUri
    DefaultUri defaultUri = createDefaultUri();
    return "test"
 }

 protected abstract DefaultUri createDefaultUri();
}

Spring Framework将生成一个Myclass的动态子类,它将覆盖createDefaultUri方法,以便在每次请求时提供DefaultUri的新实例.

您现在可以在Myclass bean定义中定义lookup-method名称,如下所示:

cope="prototype" class="DefaultUri">

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐