스프링 주요 컨셉 이해하기2

도람·2025년 6월 2일
post-thumbnail

빈과 컨테이너

  • 스프링 컨테이너:
    • 빈의 생성주기를 관리한다.
    • 개발자가 @Autowired 같은 애너테이션을 사용해 빈을 주입받을 수 있게 DI를 지원한다.
  • 빈 : 컨테이너가 생성하고 관리하는 정책
    • 스프링은 빈을 스프레 컨테이너에 등록하기 위해 XML파일 설정, 에너터이션 추가 등 여러방법 제공.
      (=> 빈 등록 방식은 여러가지가 있다.)

관점 지향 프로그래밍

  • 관점 지향 프로그래밍(AOP, Aspect Oriented Programming)
  • 프로그래밍에 대한 관심을 핵심 관점, 부가 관점으로 나누어 관심 기준으로 모듈화하는 것.

    ex) 계좌 이체, 고객관리 프로그램
    핵심 관점 : 계좌 이체, 고객 관리 로직
    부가 관점 : 로깅 및 데이터베이스 연결 로직

    여기에서 AOP 관점을 적용하면 부가 관점에 해당하는 로직을 모듈화 하여 그림처럼 개발할 수 있게 한다.
    -> 부가 관점 코드를 핵심 관점 코드에서 분리할 수 있게 해준다.


이식 가능한 서비스 추상화

  • 이식 가능한 추상화 PAS(Portable Service Abstraction)
  • 스프링에서 제공하는 다양한 기술들을 추상화해 개발자가 쉽게 사용하는 인터페이스.
  • ex) 매핑과 클래스, 매핑을 위한 애너테이션
  • ex) 데이터베이스에 접ㅡㄴ하기 위핸 JPA, MyBaties, JDBC
  • ex) WAS (코드를 그대로 두고, WAS를 톰캣이 아닌 언더토우, 네티와 같은 곳에서 실행해도 기존 코드를 그대로 사용 가능)

해당 글은 다음 도서의 내용을 정리하고 참고한 글임을 밝힙니다.
신선영, ⌜스프링 부트 3 벡엔드 개발자 되기 - 자바 편⌟, 골든래빗(주), 2023, 384쪽

profile
정도를 걷는 엔지니어

0개의 댓글