2011-08-25 48 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