【发布时间】:2020-03-22 21:24:29
【问题描述】:
我是rest webservice的新手,有一个新手q'。我创建了一个休息类,并想使用帮助类来处理某些操作。例如,我创建了以下服务:
import statements...
@Path("/UserResources")
public class UserResource {
//Create Spring application context
static ClassPathXmlApplicationContext ctx = new
ClassPathXmlApplicationContext("classpath:/spring.xml");
private UserResourceHelper urh = new UserResourceHelper(); // this is the helper
class UserProfileService userProfileService = ctx.getBean(UserProfileService.class);
@POST
@Path("/createUser")
@Consumes(MediaType.APPLICATION_JSON)
public Response createUser(@Context HttpServletRequest request, Object object) {
StringBuffer sb = new StringBuffer();
User user = userProfileService.findByPrimaryKey(object);
sb.append(urh.createUser(object));
return
Response.status(Status.CREATED.getStatusCode()).entity(result.toString()).build(); } }
我对这种方法有几个问题:
这是实例化助手类的正确方法吗?或者我应该创建一个构造函数并在那里实例化类?例如:
public UserResource (){
urh = new UserResourceHelper();
}
在这种方法中,总会有一个新的 UserResourceHelper 实例吗?
如果是这样,这意味着不会有并发问题,对吗? IE。 2 个请求同时进来,createUser 方法接收到的第一个对象会突然被突然进来的第二个对象替换?
我将 Hibernate 用于 ORM。我根据我的代码示例实例化实体的方式是否正确?
感谢您的帮助!
【问题讨论】:
-
我看到你正在使用 spring,所以你可以将所有东西都委托给 Spring 而不是手动实例化