如何使用带有多个切入点的@Before建议?

时间:2013-08-08 13:16:15

标签: rest spring-mvc annotations aspectj spring-aop

我已经为以下方法编写了@Before建议,这些方法属于同一个名为MPIController的类。

TransactionType  

是我的自定义注释界面。

方法是:

1.
@RequestMapping(value = "/getPatient", method = { RequestMethod.POST,RequestMethod.PUT }, consumes = "application/json", produces = "application/json")
@TransactionType(value = "FETCH_PATIENT")
public @ResponseBody
FetchPatientResponse fetchPatientDemographics(
        @RequestBody String jsonObject, HttpServletResponse response,
        HttpServletRequest request, BindingResult error) {
       ...
       }

...

2.
@TransactionType(value = "UPDATE_PATIENT")
private PersistResponse updatePatient(String jsonObject,String patientDemo,
        String fromCode) {..}

...

3. 
@TransactionType(value = "REGISTER_PATIENT")
private PersistResponse RegisterPatient(String jsonObject,String patientDemo,
        String fromCode) {..}

我的建议是这样的。

@Before("execution(* com.rest.controller.MPIController.*(..)) &&args(jsonObject,..) && @annotation(transactionType) ")
public void log(String jsonObject,TransactionType transactionType){..}

对于“fetchPatientDemographics()方法正确调用@Before建议,但是对其余两种方法不起作用。

你能告诉我这里做错了吗?

方法2和3是从同一个类中的其他方法调用的。它们不是直接调用的。可能是个问题吗?

0 个答案:

没有答案