2011-08-25 78 views
2

是否可以在春季製作@Aspect請求範圍?因爲它似乎不起作用,而且它有道理;代理對象實際上並未實際注入,建議僅由運行時應用。只是想知道...是否可以在春季製作@Aspect請求範圍

例子:

@Aspect 
public class MyAspect { 
    // expecting this to get autowired per request 
    @Autowired private HttpServletRequest request; 

    @Around(...) 
    public void doSomething(ProceedingJoinPoint pjp) { 
     // something here 
     pjp.proceed(); 
     // something there 
    } 
} 

而且在XML:

<bean class="MyAspect" scope="request" /> 
+1

你想要做什麼? – Cygnusx1

+0

@ Cygnusx1:用例子編輯的問題 – Kevin

回答

0

而不是使用一個方面,實施HandlerInterceptor。然後,您可以輕鬆訪問所有常用對象,包括請求,並具有預處理和後處理方法。

+0

我最終使aspect成爲單例bean並注入了一個單獨的請求範圍bean,它持有自動裝配的HttpServletRequest。但你的答案也適用。 – Kevin