산으로 가자▲

스프링 프레임워크의 핵심 기능 본문

Spring

스프링 프레임워크의 핵심 기능

이성욱입니다 2022. 9. 29. 09:40

의존성 주입

  • 의존성 주입(Dependency Injection)( DI )자세한 설명은 3-2 DI컨테이너 에서 알아보자
  • DI 프로그램에서 의존 부분을 외부에서 주입한다. 정도로 이해하면 된다.
  • 첫 뻔째 기능은 의존성 주입으로, 약어 DI입니다. 의존성 주입은 ‘의존하는 부분을 외부에서 주입하는 것’을 말한다. 도대체 무엇이 무엇에 의존하고 무엇을 밖에서 주입할까요?

관점 지향 프로그래밍

  • 관점 지향 프로그래밍(Aspect Oriented Programming)
    • 중심적 관심사(Primary Concern) : 실현해야 할 기능을 나타내는 프로그램
    • 횡단적 관심사(Crosscutting-Concerns) : 본질적인 기능은 아니지만 품질이나 유지보수 등의 관점에서 반드시 필요한 기능을 나타내는 프로그램
    AOP를 간단히 설명하면 공통 처리 등의 ‘횡단적 관심사’를 추출하고 프로그램의 여러 곳에서 호출할 수 있게 설정함으로써 개발자는 실현해야 할 기능인 ‘중심적 관심사’에만 집중해서 작성하면 되는 구조입니다.
    • 중심적 관심사 : 실현해야 하는 기능
    • 횡단적 관심사 : 실현하는 프로그램과 별도로 부수적으로 필요한 프로그램
    1. 예외 처리
    2. 로그 정보 화면이나 파일 등으로 출력 처리
    3. 데이터베이스의 트랜잭션 제어 등
     💡 AOP의 개념 필자가 AOP를 처음 이해했을 때 생각한 것은 ‘회식’입니다. ’먹고 마시는 것’을 ‘중심적 관심사’라고 한다면 ‘가게의 선정이나 인원수 조정’이나 ‘정산’을 ’횡단적 관심사’라고 생각했습니다. 누구나 가능하면 ‘먹고 마시는 것’만 하고 싶어 하지만 그외의 작업도 누군가는 해야 하는데, 그 일을 편하게 해주는 역할을 하는 것이 AOP라고 생각합니다.
  • 자세한 설명과 사용법은 3-4 관점 지향 프로그래밍의 기초지식을 보면 된다.
  • 관점 지향 프로그래밍의 약어로는 AOP입니다. AOP에서는 프로그램이 다음 두 가지 요소로 구성된다고 생각합니다.