2016-03-23 86 views
0

我的一個班有HttpServletRequest的交易,是這樣的組件:java的春天@Component範圍和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

春天會自動處理請求範圍的對象像HttpServletRequest的。刪除@Scope,你應該沒問題。