在另一方面进行时,aop没有工作

时间:2017-06-20 06:42:33

标签: java spring proxy aop

有两个方面:ControllerRequestAspect和StockCamponLogAspect。 ControllerRequestAspect建议控制器级bean,它由cglib代理。 StockCamponLogAspect建议服务级bean,它由jdk动态代理代理。

问题是:ControllerRequestAspect的切入点可以检测到正常的http请求,但是当junC测试可以检测到时,StockCamponLogAspect的切入点无法检测到跟随的服务方法。

那么,如何激活StockCamponLogAspect的建议,而其上调用者是另一个代理(由cglib增强)?

这是来自控制器的代码:

@RequestMapping({ "/verifyTransfer" })
@ResponseBody
public JsonResult<Map<String, Object>> agentSaleVerify(Integer transferId, String name, Integer verifyResult, String verifyContent) throws Exception {
    return agentSaleExpotService.agentSaleVerify(transferId, name, verifyResult, verifyContent)
}

这是来自junit test的代码:

@Test
@StockCampon
public void updateReleaseNumByStockIdTest() {
    Map<String, Object> params = Maps.newHashMap();
    params.put("stockId", 2646);
    params.put("stockStatus", 1);
    params.put("operQualifiedOn", 5);
    int num = stockMapper.updateReleaseNumByStockId(params);
    System.out.println(num);
}

0 个答案:

没有答案