스프링 삼각형과 설정 정보

Timo·2021년 4월 23일
0
post-thumbnail

IoC/DI

IoC(제어의 역전)/DI(의존성 주입)
DI는 외부에 있는 의존 대상을 주입하는 것을 말한다.

프로그래밍에서 의존 관계는 new로 표현된다.

의존성을 설정 파일에 모아두고 관리(주입)함으로써 얻는 이점은 재컴파일/재배포 없이 프로그램의 실행 결과를 변경할 수 있다는 것이다.

AOP

Aspect-Oriented Programming
스프링 DI가 의존성에 대한 주입이라면 스프링 AOP는 로직(Code)의 주입이라고 할 수 있다.

프로그램을 작성하다보면 다수의 모듈에서 공통적으로 나타나는 부분이 존재하는데, 바로 이것을 횡단 관심사(Cross-cutting concern)라고 한다.

  • 코드 = 핵심 관심사 + 횡단 관심사

스프링 AOP의 핵심

  • 스프링 AOP는 인터페이스(interface) 기반이다.
  • 스프링 AOP는 프록시(proxy) 기반이다.
  • 스프링 AOP는 런타임(runtime) 기반이다.

PSA

Portable Service Abstraction - 일관성 있는 추상화
어댑터 패턴을 적용해 같은 일을 하는 다수의 기술을 공통의 인터페이스로 제어할 수 있게 한 것을 서비스 추상화라고 한다.

스프링 프레임워크는 다양한 어댑터를 제공해준다.

서비스 추상화의 예로 JDBC를 들 수 있다.
데이터베이스 종류에 관계없이 같은 방식으로 제어할 수 있는 이유는 어댑터(변환기) 패턴을 활용했기 때문이다.

profile
나는 매일 성장하는 사람

0개의 댓글