Spring Boot [관점지향 프로그래밍] AOP

정신차룟·2021년 2월 18일

Spring AOP(Aspect Oriented Programming)이란

  • AOP는 관점지향 프로그래밍으로 기능을 핵심 비지니스 기능과 공통기능으로 구분하고, 공통 기능(로깅, 보안인증 모듈 등)을 개발자의 코드 밖에서 필요한 시점에 적용하는 프로그래밍 방법이다.

    사용되는 경우

    1) 간단한 메소드 성능 검사

    • 개발도중 특히 DB에 대용량 데이터를 조회하고 등록하는 등의 배치작업에 대하여 실행시간은 측정해보고 쿼리를 개선하는 작업 같은 경우 해당 메소드의 처음과 끝에 사용하기에는 번거롭기 때문에 코드 밖에서 설정하고 해당 기능을 사용하는 것이 편리함

    2) 트랜젝션 처리

    • 트랜젝션의 겨우 비지니스 로직의 전후에 설정된다. 하지만 매번 사용하는 트랜젝션(try catch)의 코드는 번거롭고 소스코드를 복잡하게 만들게 한다.

    3) 기타

    • 예외반환, 아키텍쳐 검증, DB 동기화 문제 해결, 로깅, 인증권한 등등

      참고 글

profile
Young Min

0개의 댓글