Bei der Verwendung von spring aop:around, wie bekomme ich den return-Typ der pointcut-Methode?
Ich eine Anforderung haben, jetzt, ist, dass beim verwenden mybatis(vor allem diejenigen, batch execute von sql), überprüfen Sie die parameter zunächst , wenn der parameter null ist oder leer ist , dann einfach zurückgeben, nicht gehen und wenn der Rückgabetyp Liste,zB.
List<User> getByIds(List<Long> idList)
leer zurück ArrayList, wenn der Rückgabetyp void ist:
void batchInsert(List<User>)
null zurück.
Der Zweck ist, um diese situation zu vermeiden, wie zB.
select * from user where id in ()
insert into user(name,email) values ()
aber von joinPoint ich kann Sie nicht zurück geben,nur Argumente.
Object[] args = joinPoint.getArgs();
if(args!=null&&args.length=1){
if(args[0] instanceof List){
if(((List) obj).isEmpty()){
if(returnType.equals("java.util.List"))
return new ArrayList();
else if(returnType.equals("void"))
return null;
}
}
return joinPoint.proceed();
So, wie bekomme ich den return-Typ in der aop:around?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Zur get-Methode Rückgabetyp/Klasse
ProceedingJoinPoint
Sie dies tun können: