Spring - AOP

yeong ·2023년 2월 16일
0

절차지향언어

특징

한계

객체지향언어

특징

  • 모든 데이터를 현실에 빗대어 객체로 표현하고 5가지 특징을 가진다.
    • 캡슐화
    • 정보은닉
    • 추상화
    • 상속성
    • 다형성

한계

  • AOP를 확장하기 전에 핵심관심코드와,횡단관심코드를 분리할 수 없었던 객체지향언어의 단점
    • 코드가 중복됨
    • 코드가 지저분해짐

AOP(애스펙트 지향 프로그래밍)

특징

  • 객체지향 프로그래밍와 대립되는 개념이 아니라 확장의 개념이다.
  • 로그 처리,보안,트랜잭션 관리 그리고 예외사항 처리 등의 코드를 단일 모듈로 각각
    작성하고 필요한 시점에는 핵심코드를 삽입하여 동작하게 하는 것
  • 목적 : OOP와 같은 모듈화가 띄어난 방법을 사용하더라도 결코 쉽게 분리된 모듈로 작성하기 힘든 요구사항이 실제 어플리케이션 설계와 개발에서 자주 발견됨 (AOP에서 이를 횡단 관심이라함)
  • 핵심 관심(Core Concners): 해당 시스템의 핵심 가치와 목적이 그대로 드러난 관심 영역
    기존의 객체지향 분석/설계(OOAD)를 통해 쉽게 모듈화와 추상화가 가능함(데이터 처리)
  • 횡단 관심코드(Crossscutting Concners):결코 쉽게 분리된 모듈로 작성하기 힘든 요구사항
    객체지향의 기본 원칭을 지키면서 이를 분리해서 모듈화하는 것이 매우 어려움(공통 모듈)


Spring AOP를 사용하기 위해서

같은 버전에 두 라이브러리 빌드
MavenRepository에서 코드복사해서 pom.xml에 빌드하면 됨 Spring beanConfigure File에서 AOP Namespace빌드하고 사용

0개의 댓글