오늘의하루

AOP - java.lang.ClassCastException 본문

JAVA

AOP - java.lang.ClassCastException

오늘의하루_master 2024. 2. 23. 13:58

발생 확인

@aoptest
public List<Integer> testMethod(){
    List<Integer> list = new ArrayList<>();
    list.add(1);
    list.add(2);
    return list;
}

@Around("@annotaion(aoptest)")
public ResponseEntity<StatusCode> testAOP(ProceedingJoinPoint joinPoint) throws Trowable {
    try {
        Object obj = joinPoint.proceed();
        return ResponseEntity.ok().body(obj);
    } catch (Throwable e) {
        e.printStack();
    }
}

@Getter
@AllArgsConstructor
public class StatusCode{
    Object obj;
    
    public static StatusCode(Object obj){
        return new StatusCode(obj);
    }
}

발생 원인

너무 당연한 사실이지만 반환 타입이 다르기 때문에 발생하는 예외였다.

반환 타입만 실제 메소드와 AOP를 동일하게 맞춰준다면 에러가 발생하지 않는다.

Comments