gpt4 book ai didi

Java 休息最佳实践

转载 作者:行者123 更新时间:2023-12-01 19:53:14 24 4
gpt4 key购买 nike

我是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。我根据代码示例实例化实体的方式是否正确?

感谢您的帮助!

最佳答案

采用这种方法总会有 UserResourceHelper 的新实例吗?

是的。它总是创建新实例

建议:

如果您想为每个请求创建一个新服务,您可以将其作为服务而不是辅助类,并且可以在 Controller 中 Autowiring 该服务。

@Service
public class UserResourceService {

}

在 Controller 中

public class someController {

@Autowired
private UserResourceService userResourceService;

}

关于Java 休息最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59068208/

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