[Spring] 개념 분석(IOC, DI, AOP)

Jay·2021년 7월 18일
0

Spring

목록 보기
2/3

이제부터 Spring의 중요한 개념 부분을 공부해보도록 하겠습니다! 아래 그림은 Spring Framework의 구조입니다.

1. IOC_Inversion of Control / 제어의 역행

  • Application의 life-cycle 을 Application Container가 담당함
  • 쉽게 얘기하면, Application의 주도권이 사용자에게 있는 게 아니라 Spring Framework에게 있다!
  • 공식화된 설계 패턴을 Application 통합할 수 있는 first-class 개체로 코드화

2. DI_Dependency Injection / 의존성 주입

  • high level module은 low level module에게 의존하면 안되고 interface에 의존해야됨
  • 추상화는 세부 사항에 의존하면 안됨, 따라서 세부 사항이 추상화에 의존해야함
  • interface를 활용해 결합도를 낮춰야 함
  • @Annotation으로 객체 간의 의존관계를 설정 할 수 있음

3. AOP_Aspect Oriented Programming

  • OOP에서 모듈화의 핵심 단위는 클래스인 반면, AOP에서 모듈화의 단위는 aspect
  • Aspect를 사용하면 여러 유형과 개체를 가로지르는 트랜잭션 관리와 같은 관심사를 모듈화
  • 자바로 구현되어 특별한 컴파일 과정이 필요하지 않음
  • Spring IoC 컨테이너는 AOP에 의존하지 않으므로 AOP를 사용하지 않아도 됨
profile
🟣 Fake till you make it 🟣 Finish Strong 💪

0개의 댓글