Java/AOP

Java/AOP

HttpServletRequestWrapper 에 대해서 ( with. ExceptionHandler)

프로젝트 진행 중에 Exception 이 발생하면 로그테이블에 저장해주는 로직을 개발해야 하는 상황이었다. 그래서 예외 처리를 @ExceptionHandler 를 통해 관리하고 @Aspect 어노테이션을 붙인 클래스에서 로그테이블을 저장 하는 흐름으로 개발 했는데 문제가 발생하였다. 😭 바로 @RequsetBody 를 통해 들어온 파라미터를 받아서 로그에 저장해야 하는데 현재 개발되어 있는 파라미터로는 요청 파라미터를 받을 수 없어서 찾아보던 중 HttpServletRequestWrapper 를 통해 값을 읽어오는 방법을 알게 되었음! (유레카😲)상황Controller @PostMapping("/approval") public CardResponse paymentApproval( ..

Java/AOP

AOP의 @Aspect 에 대해서

Spring AOP의 핵심기능과 부가기능AOP는 업무 로직을 포함하는 핵심기능과 핵심기능을 도와주는 부가적인 기능(로깅,보안,트랜젝션)인 부가기능으로 나누어서 볼 수 있는데, 이 관점을 기준으로 각각 모듈화 하겠다는 개념으로 볼 수 있다.코드상에서 다른 부분에 계속 반복해서 쓰는 코드들을 발견 할 수 있는데 이것을 흩어진 관심사라 부른다.예시로) 코드1 이 Class A와 Class B 에서 사용중이라면 Aspect X로 모듈화 할 수 있으며 재사용 할 수 있다.AOP용어정리Target핵심기능을 담고 있는 모듈. 부가기능을 부여할 대상이 됨.Aspect 를 적용하는 곳 (클래스, 메소드 ...)Advice실질적으로 어떤 일을 해야할 지에 대한 것. (실질적인 부가기능을 담은 모듈)Join PointAdv..

Java/AOP

ExceptionHandler (with. AOP) 에 대해서

프로젝트를 진행하면서 예외를 어떻게 관리할지 결정하는 것이 중요하고 어려운 단계인 지 알게 되었다..😢AOP 란 ?AOP는 Aspect Oriented Programming 의 약자로 OOP의 단점을 보완하기 위한 프로그래밍 방식이다. 간략하게 설명하면 여러 곳에서 사용되는 공통기능을 모듈화하고, 필요할 때 연결함으로써 유지보수, 재사용성에 용이하도록 프로그래밍 하는 것을 AOP 라고 한다. @ExceptionHandler 는 Spring 에서 발생한 Exception을 기반으로 오류를 처리 할 수 있다. 하나의 클래스(컨트롤러 등)의 메서드에 추가되어 해당 클래스의 ExceptionHandler 로써 동작한다. 그렇기 때문에 컨트롤러가 늘어나면 중복코드가 늘어나는 방식이다.그래서 모든 클래스에서 발생..

오리토리
'Java/AOP' 카테고리의 글 목록