Jersey 资源构造函数变量注入

发布于 2024-11-25 03:57:14 字数 298 浏览 0 评论 0原文

我有一个 Resource 类,其中几乎所有方法都接受 Foo 类型的变量作为参数。在每个请求开始时,我都需要处理这个对象。有没有办法可以将所有这些移动到资源的构造函数中:

public class Resource{

   public Resource(Foo foo){
         // common lines of code
   }

   @POST
   public methodOne(Foo foo){

   }

}

如果我尝试这样做,我会收到依赖项错误。

谢谢

I have a Resource class where almost all methods accept a variable of Foo type as parameter. At the start of every request I need to work on this object. Is there a way I can move all of this into the constructor of the resource:

public class Resource{

   public Resource(Foo foo){
         // common lines of code
   }

   @POST
   public methodOne(Foo foo){

   }

}

I get dependency errors If I try this.

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

揽月 2024-12-02 03:57:15

您可以使用依赖注入来注入 Foo。 JEE6 通过 JSR330 提供 DI 支持。

You can use dependency injection to inject Foo. JEE6 has DI support with JSR330.

你与清晨阳光 2024-12-02 03:57:15

您可以将公共代码移至单独的方法,然后从每个请求方法调用该方法:

...
private Foo processFoo(Foo foo)
{
    Foo newFoo;
    // common processing here
    return newFoo;
}

@POST
public methodOne(Foo foo){
    Foo processedFoo = processFoo(foo);
    ...
}
...

You could move the common code to a separate method and then call that method from each request method:

...
private Foo processFoo(Foo foo)
{
    Foo newFoo;
    // common processing here
    return newFoo;
}

@POST
public methodOne(Foo foo){
    Foo processedFoo = processFoo(foo);
    ...
}
...
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文