私は、aspectj を使用して、いくつかのフィールドを既存のクラスに追加し、それに注釈を付けています。load time weaving を使用しています。
例:- 3 つの文字列属性を追加するクラスの顧客がいます。しかし、私の問題は、いくつかの値を設定し、ビジネスコールの前にも取得する必要があることです。
私は以下のアプローチを試みています。私のajファイルに以下を追加しました。私の問題はAround pointcutにあります。属性を取得して属性を設定するにはどうすればよいですか。
public String net.customers.PersonCustomer.getOfflineRiskCategory() {
return OfflineRiskCategory;
}
public void net.customers.PersonCustomer.setOfflineRiskCategory(String offlineRiskCategory) {
OfflineRiskCategory = offlineRiskCategory;
}
public String net.customers.PersonCustomer.getOnlineRiskCategory() {
return OnlineRiskCategory;
}
public void net.customers.PersonCustomer.setOnlineRiskCategory(String onlineRiskCategory) {
OnlineRiskCategory = onlineRiskCategory;
}
public String net.customers.PersonCustomer.getPersonCommercialStatus() {
return PersonCommercialStatus;
}
public void net.customers.PersonCustomer.setPersonCommercialStatus(String personCommercialStatus) {
PersonCommercialStatus = personCommercialStatus;
}
@Around("execution(* net.xxx.xxx.xxx.DataMigration.populateMap(..))")
public Object invoke(ProceedingJoinPoint joinPoint) throws Throwable {
Object arguments[] = joinPoint.getArgs();
if (arguments != null) {
HashMap<String, String> hMap = (HashMap) arguments[0];
PersonCustomer cus = (PersonCustomer) arguments[1];
return joinPoint.proceed();
}
誰かアイデアがあれば教えてください。
よろしく、 FT