gpt4 book ai didi

java - 使用 Wicket 从 super /抽象类调用方法时焊接注入(inject)失败

转载 作者:太空宇宙 更新时间:2023-11-04 08:50:42 24 4
gpt4 key购买 nike

我在焊接 Wicket 口时遇到问题。当 @Inject-ing 从抽象类继承的 EJB 时,如果我尝试从抽象类调用方法,则会收到 ejb-ref 错误。但是,如果我从具体类调用一个方法,它就可以完美地工作。我可以重写方法并调用它们,并且可以将重写的方法委托(delegate)给抽象类(让重写的方法调用 super.method()),这样就可以了。我必须对抽象类进行某种配置吗?

谢谢。

最佳答案

这是根据我使用 Seam 的经验做出的猜测。 Weld 注入(inject)一个包装您的 bean 的代理。代理仅拦截公共(public)方法并将这些方法委托(delegate)给底层 bean(在您的例子中为 EJB)。当您在代理上调用 protected 方法或从同一包中的类调用包私有(private)方法时,该方法不会被拦截,而是直接在代理上调用,这会导致错误。简而言之,只需调用公共(public)方法或通过接口(interface)返回所有依赖项并注入(inject)即可。

关于java - 使用 Wicket 从 super /抽象类调用方法时焊接注入(inject)失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3401821/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com