Jersey / Jersey-spring @Autowire在介绍AspectJ和建议未执行时不再工作了

时间:2013-02-15 06:15:07

标签: dependency-injection jersey aspectj

有没有人设法让Jersey使用AspectJ(来自Spring)?

在我的例子中,我在java / groovy中有一个球衣类:

@Component
@Path("/resource")
class Resource{

    @Autowired
    ResourceAccess resourceAccess 

    @GET
    @Produces(MediaType.APPLICATION_JSON)
    public String getResource(@QueryParam("name") String name){
        def res= resourceAccess.getResource(name)
        return res
    }

...
}

它运行得很好,resourceAccess是由Spring和/ resource注入的吗?name = test返回名为test的资源

但是当我想在游戏中引入AspectJ(AOP)时,资源访问对象不再被注入,我的建议甚至没有被执行。

我在applicationContext.xml中添加并创建了我的方面:

@Aspect
@Component
public class MyAspect{
    static final Logger logger = LoggerFactory.getLogger(MyAspect.class);

    @Before("execution(* com.test.Resource.getResource(..))")
    public void logBefore(JoinPoint joinPoint) {
        logger.debug("logBefore() is running!");
    }
}

备注:如果我将建议中的切入点更改为定位其他内容,则可以再次正常工作。

有人能够在这个问题上帮助我吗?

0 个答案:

没有答案