AOP 2

PSA(이식 가능한 서비스 추상화)

이 글은 스프링부트3 백엔드 개발자 되기 책을 바탕으로 공부한 내용을 정리한 게시글 입니다. Spring을 이해하는데 있어서 가장 중요한 3가지 핵심특징을 뽑으라고 하면 IoC/DI, AOP, PSA를 뽑을 수 있습니다. Spring 프레임워크는 애플리케이션을 구성하는 틀을 제공해 줄 뿐만 아니라 애플리케이션 코드를 어떻게 작성해야 하는지 에 대한 기준도 제공해 주는데 이를 일반적으로 프로그래밍 모델이라고 부르며 Spring에서는 3가지 핵심 프로그래밍 모델을 지원하며 이에 맞춰 개발할 것을 권장하고 있습니다.IoC/DIAOP서비스 추상화이 3가지 프로그래밍 모델 중에 이번글에서는 서비스 추상화(PSA)에 대해서 알아 보겠습니다. 1. PSA (Portable Service Abstraction)란? 스..

관점 지향 프로그래밍(AOP)

이 글은 스프링부트3 백엔드 개발자 되기 책을 바탕으로 공부한 내용을 정리한 게시글 입니다. 1. 관점 지향 프로그래밍(AOP)란? 스프링에서 또 하나 중요한 개념으로는 AOP(Aspect Oriented Programming)가 있습니다. 한국어로 관점 지향 프로그래밍으로 불리기도 하는데 의미를 풀어서 설명하자면 프로그래밍에 대한 관심을 핵심,관점,부가 관점으로 나누어서 관심 기준으로 모듈화 하는 것을 의미합니다.  예를 들어 계좌 이체, 고객관리하는 프로그램이 있을 때 각 프로그램에는 지금까지 벌어진 일을 기록하기 위한 로깅 로직과 여러 데이터를 관리하기 위한 데이터베이스 연결 로직이 포함됩니다. 이때 핵심 관점은 계좌 이체, 고객 관리 로직이고, 부과관점은 로깅, 데이터 베이스 연결 로직 입니다.그..