我的一个类处理HttpServletRequest,它是一个像这样的组件:
@Component
public class AuthorizationService {
@Autowired
HttpServletRequest request;
public Boolean authorize(Integer fetId) {
...play with headers, db and other stuff...
}
并在其他地方使用
public class CarRestController {
@Autowired
CarService service;
@Autowired
AuthorizationService authorizer;
@RequestMapping(method = RequestMethod.GET)
public List<Car> get()throws Exception {
authorizer.authorize(666);
...
return cars;
}
我担心的是,由于AuthorizationService是一个@component,默认情况下它将是一个单例,因此只有一个请求会被处理后的新请求交换。
我应该这样做来解决问题吗?
@Component
@Scope("prototype")
public class AuthorizationService {
非常感谢
答案 0 :(得分:0)
删除服务上的@Scope
并且不用担心,您的控制器也是一个单独的(因为它由spring管理)。
BTW:您在控制器上缺少@Controller
一些阅读:
答案 1 :(得分:0)
Spring会自动处理像HttpServletRequest这样的请求范围对象。删除@Scope
,你应该没问题。