【发布时间】:2018-08-15 16:00:34
【问题描述】:
假设我有一个这样的 JAX-RS Web 服务:
import javax.servlet.http.HttpServletRequest;
import javax.ws.rs.Consumes;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.WebApplicationException;
import javax.ws.rs.core.MediaType;
@Path("/somePath/{id}")
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
public class SomeObject {
@PathParam("id")
private String id;
@GET
@Path("/something")
public String something() {
DbObject dbObject = new DbObject(id);
// return something
}
@POST
@Path("/somethingElse")
public void somethingElse(Arg1 arg1, Arg2 arg2) {
DbObject dbObject = new DbObject(id);
// do something else with it
}
...
}
我几乎所有方法的第一行都是创建我的 dbObject。
有没有办法在 id 设置后立即执行此操作?
我可以在 id setter 中这样做吗?会调用 setId 方法而不是填充 id 变量的值吗?
或者我还有什么其他选择?
【问题讨论】:
-
你可以使用注入。
-
@Berger 你能给我举个例子吗?我不确定我知道你指的是什么。
-
查看以下链接,(例如 Spring,是最常见的依赖注入框架之一):stackoverflow.com/questions/3334578/…
-
我希望有一些不需要完整的代码重新架构的东西。 :P
-
为什么不用注射?