每次使用查找方法和Spring依赖注入调用bean(myBean)时,我都会尝试注入一个属性:
cope="prototype" class="DefaultUri" >
以上XML在启动时返回此错误:
“来自PortletContext资源的XML文档无效”
该错误似乎是因为< lookup-method name =“getUri”bean =“defaultUri”/>配置不正确.
最佳答案
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] 举报,一经查实,本站将立刻删除。